<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV problem&amp;gt; in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429716#M205587</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have done do_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U can see my code and plss tell where I went wrong?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Jul 2006 08:33:48 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-07-12T08:33:48Z</dc:date>
    <item>
      <title>ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429711#M205582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When I use REUSE_ALV_BLOCK_APPEND &amp;amp;  REUSE_ALV_BLOCK__list_display i am not able to give subtotal and also not able to sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me,,iam stuck with my program.can anyone explain with example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thankss&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 12:57:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429711#M205582</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T12:57:00Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429712#M205583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should try to use the REUSE_ALV__list_display and break the page by sorted table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case you cna create several blocks, but every block is write on new page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 12:59:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429712#M205583</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T12:59:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429713#M205584</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it is possible...i made it , &lt;/P&gt;&lt;P&gt;i changed the standard code,.just look for bold one...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;report zzbalvbt01 no standard page heading.
* Type-pool enthält Feldkatalogstruktur
type-pools:  slis.
* Includes
include &amp;lt;icon&amp;gt;.
include &amp;lt;symbol&amp;gt;.
* Interne Tabelle für Feldkatalog
data: lfield type slis_t_fieldcat_alv.
data: xfield type slis_t_fieldcat_alv.
data: yfield type slis_t_fieldcat_alv.
data: zfield type slis_t_fieldcat_alv.
data: hfield type slis_t_fieldcat_alv.
* Kopfzeile zum Feldkatalog
data: afield type slis_fieldcat_alv.
* Special Groups
data: gt_sp_groups type slis_t_sp_group_alv with header line.
* Zwischensummen und Sortierung
data: gt_zsum type slis_t_sortinfo_alv with header line.
* Filterbedingungen
data: gt_filter type slis_t_filter_alv with header line.
* iTab für Kopfinformationen zur Liste
data: xheader type slis_t_listheader with header line.
* Layoutstruktur
data: gs_layout type slis_layout_alv.
data: x_layout type slis_layout_alv.
data: y_layout type slis_layout_alv.
data: z_layout type slis_layout_alv.
data: h_layout type slis_layout_alv.
data: l_layout type slis_layout_alv.
* Keyinfo
data: gs_keyinfo type slis_keyinfo_alv.
* Excludingtabelle
data: gt_extab type slis_t_extab with header line.
* Layoutstruktur
data: xisetab type slis_seldis_alv.
* Events
data: gt_xevents type slis_t_event.
data: gt_yevents type slis_t_event.
data: gt_zevents type slis_t_event.
data: gt_hevents type slis_t_event.
data: gt_levents type slis_t_event.
data: gt_print type slis_print_alv.
* OK_Code für Layoutpopup
data: ok_code like sy-ucomm.
data: flg_exit(1) type c.              " Abbruch des Layoutpopups.

* Farbtabelle für Zelleneinfärbungen
data: gt_color type slis_t_specialcol_alv with header line.

tables: scarr, spfli, sbook.
* Interne Struktur mit Obermenge der möglichen Ausgabefelder
data: begin of xdata occurs 1,
        carrid   like scarr-carrid,
        carrname like scarr-carrname,
        currcode like scarr-currcode,
        blubber like ltdxt-text,
        numc(3) type n,                " ohne DDIC-Bezug!
        icons(30) type c,              " ohne DDIC-Bezug!
        symbols(30) type c,
        ampel(1) type c,
        box(1) type c,
        listinfo(3) type c,
*       COLINFO TYPE SLIS_T_SPECIALCOL_ALV,
      end of xdata.
* Interne Struktur mit Obermenge der möglichen Ausgabefelder
data: begin of ydata occurs 1.
        include structure spfli.
data:   blubber like ltdxt-text,
        numc(3) type n,                " ohne DDIC-Bezug!
        icons(30) type c,              " ohne DDIC-Bezug!
        symbols(30) type c,
        ampel(1) type c,
        box(1) type c,
        listinfo(3) type c,
        colinfo type slis_t_specialcol_alv,
      end of ydata.
data: begin of zdata occurs 1.
        include structure sbook.
data:   blubber like ltdxt-text,
        numc(3) type n,                " ohne DDIC-Bezug!
        icons(30) type c,              " ohne DDIC-Bezug!
        symbols(30) type c,
        ampel(1) type c,
        box(1) type c,
        listinfo(3) type c,
        colinfo type slis_t_specialcol_alv,
      end of zdata.
data: hdata like xdata occurs 0 with header line.
data: ldata like xdata occurs 0 with header line.
data: idata like ydata occurs 0 with header line.
data:
      g_exit,
      x_save,
      default,
      x_variant like disvariant,
      xs_layout like gs_layout,
      xs_event  type slis_alv_event,
      gt_spfli  like spfli occurs 0 with header line,
      g_variant like disvariant.
* Report selection
select-options carrid for scarr-carrid.
data: repid like sy-repid.
parameters: pfstatus type slis_formname default 'PF_STATUS_SET'.
parameters: hiersequ as checkbox default 'X'.
parameters: box_tabl(5) default 'IDATA'.
parameters: max_data as checkbox default ' '.
*-----------------------------------------------------------------------
initialization.
  repid = sy-repid.

start-of-selection.
  perform selection.
  perform xevents.
  perform levents.
  perform yevents.
  perform zevents.
  perform hevents.
  perform fields.
*
  call function 'REUSE_ALV_BLOCK_LIST_INIT'
       exporting
            i_callback_program       = repid
            i_callback_user_command  = 'USER_COMMAND'
            i_callback_pf_status_set = pfstatus.
*
  x_layout-box_fieldname = 'BOX'.
  x_layout-box_tabname   = 'XDATA'.
  x_layout-lights_fieldname  = 'AMPEL'.
  x_layout-info_fieldname = 'LISTINFO'.
*
  call function 'REUSE_ALV_BLOCK_LIST_APPEND'
       exporting
            it_fieldcat     = xfield
            is_layout       = x_layout
            i_tabname       = 'XDATA'
            it_events       = gt_xevents
            i_text          = text-0b1
       tables
            t_outtab        = xdata.
*
  if hiersequ = space.
*   y_layout-no_zebra = 'X'.
    y_layout-box_fieldname = 'BOX'.
    y_layout-box_tabname   = 'YDATA'.
    y_layout-info_fieldname = 'LISTINFO'.
    call function 'REUSE_ALV_BLOCK_LIST_APPEND'
         exporting
              it_fieldcat     = yfield
              is_layout       = y_layout
              i_tabname       = 'YDATA'
              it_events       = gt_yevents
              i_text          = text-0b2
         tables
              t_outtab        = ydata.
  else.
*   h_layout-no_zebra = 'X'.
    h_layout-box_fieldname = 'BOX'.
    h_layout-box_tabname   = box_tabl.
    h_layout-info_fieldname = 'LISTINFO'.
    gs_keyinfo-header01 = 'CARRID'.
    gs_keyinfo-item01 = 'CARRID'.
    gs_keyinfo-item02 = 'CONNID'.
    call function 'REUSE_ALV_BLOCK_LIST_HS_APPEND'
         exporting
              is_layout                  = h_layout
              it_fieldcat                = hfield
              is_keyinfo                 = gs_keyinfo
              i_header_tabname           = 'HDATA'
              i_item_tabname             = 'IDATA'
              it_events                  = gt_hevents
              i_text          = text-0b2
         tables
              t_outtab_header            = hdata
              t_outtab_item              = idata.
  endif.
&amp;lt;b&amp;gt;data:  it_sort type  slis_t_sortinfo_alv,
        x_sort type slis_sortinfo_alv.
     x_sort-fieldname = 'CARRID'.
     x_sort-tabname = 'ZDATA'.
     x_sort-up = 'X'.
     x_sort-subtot = 'X'.
     append x_sort to it_sort.&amp;lt;/b&amp;gt;
* z_layout-no_zebra = 'X'.
  call function 'REUSE_ALV_BLOCK_LIST_APPEND'
       exporting
            it_fieldcat     = zfield
            is_layout       = z_layout
            i_tabname       = 'ZDATA'
            it_events       = gt_zevents
            i_text          = text-0b3
            it_sort         = it_sort
            tables
            t_outtab        = zdata.
*
  call function 'REUSE_ALV_BLOCK_LIST_APPEND'
       exporting
            it_fieldcat     = lfield
            is_layout       = l_layout
            i_tabname       = 'LDATA'
            it_events       = gt_levents
            i_text          = text-0b4
       tables
            t_outtab        = ldata.
*
  gt_print-reserve_lines = 2.
  call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'
       exporting
            is_print = gt_print.
*---------------------------------------------------------------------*
*       FORM FIELDS                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form fields.
  data: l_count type i.
*
  clear afield.
  l_count = l_count + 1.
  afield-col_pos = l_count.
  afield-fieldname = 'CARRID'.
* AFIELD-TABNAME = 'XDATA'.
  afield-ref_tabname = 'SCARR'.
  afield-key = 'X'.                    "define field as key
  append afield to xfield.
  afield-tabname = 'HDATA'.
  append afield to hfield.
  afield-tabname = 'LDATA'.
  append afield to lfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-col_pos = l_count.
* AFIELD-TABNAME = 'XDATA'.
  afield-fieldname = 'CARRNAME'.
  afield-ref_tabname = 'SCARR'.
  append afield to xfield.
  afield-tabname = 'HDATA'.
  append afield to hfield.
  afield-tabname = 'LDATA'.
  append afield to lfield.
*
  clear afield.
  l_count = l_count + 1.
* AFIELD-TABNAME = 'XDATA'.
  afield-col_pos = l_count.
  afield-fieldname = 'CURRCODE'.
  afield-ref_tabname = 'SCARR'.
* AFIELD-INPUT    = INPUT.
  append afield to xfield.
  afield-tabname = 'HDATA'.
  append afield to hfield.
  afield-tabname = 'LDATA'.
  append afield to lfield.
*
  clear afield.
  l_count = l_count + 1.
* AFIELD-TABNAME = 'XDATA'.
  afield-col_pos = l_count.
  afield-fieldname = 'NUMC'.
  afield-datatype  = 'NUMC'.
  afield-reptext_ddic = text-001.
* AFIELD-INPUT    = INPUT.
  afield-do_sum = 'X'.
  append afield to xfield.
  afield-tabname = 'HDATA'.
  append afield to hfield.
  afield-tabname = 'LDATA'.
  append afield to lfield.
*
  clear afield.
  l_count = 0.
  l_count = l_count + 1.
  afield-col_pos = l_count.
  afield-tabname = space.
  afield-fieldname = 'CARRID'.
  afield-ref_tabname = 'SPFLI'.
  afield-key = 'X'.                    "define field as key
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'CONNID'.
  afield-ref_tabname = 'SPFLI'.
  afield-key = 'X'.                    "define field as key
  afield-key_sel = 'X'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'CITYFROM'.
  afield-ref_tabname = 'SPFLI'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'AIRPFROM'.
  afield-ref_tabname = 'SPFLI'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'CITYTO'.
  afield-ref_tabname = 'SPFLI'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'AIRPTO'.
  afield-ref_tabname = 'SPFLI'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'DEPTIME'.
  afield-ref_tabname = 'SPFLI'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'ARRTIME'.
  afield-ref_tabname = 'SPFLI'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'FLTIME'.
  afield-ref_tabname = 'SPFLI'.
  afield-no_out = 'X'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
*
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-col_pos = l_count.
  afield-fieldname = 'FLTYPE'.
  afield-ref_tabname = 'SPFLI'.
  afield-no_out = 'X'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Ikonen
  l_count = l_count + 1.
  clear afield.
  afield-col_pos = l_count.
  afield-tabname = space.
  afield-fieldname = 'ICONS'.
  afield-ref_tabname = '    '.
  afield-sp_group = 'B'.
  afield-reptext_ddic = 'Gpk?'(045).
  afield-no_out = 'X'.
  afield-icon = 'X'.
  afield-datatype = 'CHAR'.
  afield-outputlen  = '4'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Symbole
  l_count = l_count + 1.
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-fieldname = 'SYMBOLS'.
  afield-ref_tabname = '    '.
  afield-col_pos = l_count.
  afield-reptext_ddic = 'Prs?'(040).
  afield-sp_group = 'B'.
  afield-no_out = 'X'.
  afield-symbol = 'X'.
  afield-datatype = 'CHAR'.
  afield-outputlen  = '4'.
  afield-just  = 'C'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Gepäckgewicht
  l_count = l_count + 1.
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-sp_group = 'A'.
  afield-no_out   = space.
  afield-fieldname = 'DISTANCE'.
  afield-ref_tabname = 'SPFLI'.
  afield-col_pos = l_count.
  afield-no_sign = 'X'.
  afield-qfieldname = 'DISTID'.
  afield-outputlen  = '10'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Mengeneinheit
  l_count = l_count + 1.
  clear afield.
  l_count = l_count + 1.
  afield-tabname = space.
  afield-sp_group = 'A'.
  afield-no_out   = space.
  afield-fieldname = 'DISTID'.
  afield-ref_tabname = 'SPFLI'.
  afield-col_pos = l_count.
  afield-outputlen  = '4'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Numc
  l_count = l_count + 1.
  clear afield.
  afield-col_pos = l_count.
  afield-tabname = space.
  afield-fieldname = 'NUMC'.
  afield-col_pos = l_count.
  afield-do_sum = 'X'.
  afield-sp_group = 'S'.
  afield-seltext_s = 'NUMC'.
  afield-seltext_m = 'NUMC_U'.
  afield-seltext_l = 'NUMC_USER'(041).
  afield-datatype = 'NUMC'.
  afield-outputlen  = '10'.
  afield-no_out = space.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Blubber
  l_count = l_count + 1.
  clear afield.
  afield-col_pos = l_count.
  afield-tabname = space.
  afield-fieldname = 'BLUBBER'.
  afield-ref_tabname = 'LTDXT'.
  afield-ref_fieldname = 'TEXT'.
  afield-col_pos = l_count.
  afield-hotspot = 'X'.
  afield-sp_group = 'S'.
  afield-reptext_ddic = 'Kommentar'(043).
  afield-datatype = 'CHAR'.
  afield-outputlen  = '20'.
  afield-no_out = 'X'.
  append afield to yfield.
  afield-tabname = 'IDATA'.
  append afield to hfield.
* Key
  l_count = 0.
  clear afield.
  afield-fieldname = 'CARRID'.
  afield-outputlen  = '3'.
  afield-key = 'X'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
* AFIELD-OFFSET  = '4'.
  append afield to zfield.

  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'FLDATE'.
  afield-key = 'X'.
  afield-key_sel = 'X'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  append afield to zfield.

  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'CONNID'.
  afield-key = 'X'.
  afield-key_sel = 'X'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  append afield to zfield.

  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'BOOKID'.
  afield-key_sel = 'X'.
  afield-key = 'X'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  append afield to zfield.
* Ikonen
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'ICONS'.
  afield-ref_tabname = '    '.
  afield-sp_group = 'B'.
  afield-col_pos = l_count.
  afield-reptext_ddic = 'Gpk?'(045).
  afield-no_out = 'X'.
  afield-icon = 'X'.
  afield-datatype = 'CHAR'.
  afield-outputlen  = '4'.
  append afield to zfield.
* Buchungsdatum
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'ORDER_DATE'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  append afield to zfield.
* Kundentyp
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'CUSTTYPE'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  append afield to zfield.
* Kundennummer
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'CUSTOMID'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  afield-outputlen  = '3'.
  append afield to zfield.
* Raucher
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'SMOKER'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  append afield to zfield.
* Flugklasse
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'CLASS'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  append afield to zfield.
* Rechnungsstellung ja/nein
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'INVOICE'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  afield-no_out   = 'X'.
  append afield to zfield.
* Symbole
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'SYMBOLS'.
  afield-ref_tabname = '    '.
  afield-col_pos = l_count.
  afield-reptext_ddic = 'Prs?'(040).
  afield-sp_group = 'B'.
  afield-no_out = 'X'.
  afield-symbol = 'X'.
  afield-datatype = 'CHAR'.
  afield-outputlen  = '4'.
  afield-just  = 'C'.
  append afield to zfield.
* Betrag
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'LOCCURAM'.
  afield-ref_tabname = 'SBOOK'.
  afield-sp_group = 'H'.
  afield-col_pos = l_count.
  afield-cfieldname = 'LOCCURKEY'.
  afield-datatype = 'CURR'.
  afield-do_sum   = 'X'.
  afield-outputlen  = '10'.
  append afield to zfield.
* Währung
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'LOCCURKEY'.
  afield-tech = ' '.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-outputlen  = '4'.
  afield-sp_group = 'H'.
  append afield to zfield.
* BetragFW
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'FORCURAM'.
  afield-ref_tabname = 'SBOOK'.
  afield-sp_group = 'F'.
  afield-col_pos = l_count.
  afield-no_out = 'X'.
  afield-do_sum = 'X'.
  afield-cfieldname = 'FORCURKEY'.
  afield-datatype = 'CURR'.
  afield-outputlen  = '10'.
  append afield to zfield.
* Währung
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'FORCURKEY'.
  afield-sp_group = 'F'.
  afield-tech = ' '.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-no_out = 'X'.
  afield-outputlen  = '4'.
  append afield to zfield.
* Gepäckgewicht
  l_count = l_count + 1.
  clear afield.
  afield-sp_group = 'A'.
  afield-no_out   = 'X'.
  afield-fieldname = 'LUGGWEIGHT'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-no_sign = 'X'.
  afield-qfieldname = 'WUNIT'.
  afield-outputlen  = '10'.
  append afield to zfield.
* Mengeneinheit
  l_count = l_count + 1.
  clear afield.
  afield-sp_group = 'A'.
  afield-no_out   = 'X'.
  afield-fieldname = 'WUNIT'.
  afield-ref_tabname = 'SBOOK'.
  afield-col_pos = l_count.
  afield-outputlen  = '4'.
  append afield to zfield.
* Numc
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'NUMC'.
  afield-col_pos = l_count.
  afield-sp_group = 'S'.
  afield-seltext_s = 'NUMC'.
  afield-seltext_m = 'NUMC_U'.
  afield-seltext_l = 'NUMC_USER'(041).
  afield-datatype = 'NUMC'.
  afield-outputlen  = '10'.
  afield-no_out     = 'X'.
  append afield to zfield.
* Blubber
  l_count = l_count + 1.
  clear afield.
  afield-fieldname = 'BLUBBER'.
  afield-ref_tabname = 'LTDXT'.
  afield-ref_fieldname = 'TEXT'.
  afield-col_pos = l_count.
  afield-hotspot = 'X'.
  afield-sp_group = 'S'.
  afield-reptext_ddic = 'Kommentar'(043).
  afield-datatype = 'CHAR'.
  afield-outputlen  = '20'.
  afield-no_out = 'X'.
  append afield to zfield.
endform.                               " FIELDS
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SELECTION
*&amp;amp;---------------------------------------------------------------------*
*       Selektion von Beispieldaten                                    *
*----------------------------------------------------------------------*
*  &amp;lt;-&amp;gt;  XDATA     Globale Datentabelle für Listausgabe
*----------------------------------------------------------------------*
form selection.
  data: l_tabix like sy-tabix.
  data: lt_sbook like sbook occurs 1 with header line.
  data: l_tabix2 like sy-tabix.
* Read Data
  select * from scarr into corresponding fields of
                           table xdata where carrid in carrid.
  select * from spfli into table gt_spfli for all entries in xdata
                                      where carrid = xdata-carrid.
  loop at gt_spfli.
    ydata-numc = sy-tabix div 5.
    move-corresponding gt_spfli to ydata.
    append ydata.
  endloop.


  loop at xdata.
    xdata-numc = sy-tabix div 4.
    l_tabix = sy-tabix.
    refresh gt_color.
    clear   gt_color.
    if l_tabix  &amp;gt; 5.
      xdata-ampel = '1'.
    elseif xdata-currcode = 'USD'.
      xdata-ampel = '2'.
    else.
      xdata-ampel = '3'.
    endif.
    if xdata-currcode = 'LIT'.
      gt_color-fieldname = 'CURRCODE'.
      gt_color-color-col = 6.
      gt_color-color-int = 0.
      append gt_color.
      xdata-symbols = sym_plus_circle.
    elseif xdata-currcode = 'DEM'.
      gt_color-color-col = 5.
      gt_color-color-int = 0.
      append gt_color.
      xdata-symbols = sym_filled_square.
    else.
      gt_color-fieldname = 'CURRCODE'.
      gt_color-color-col = 7.
      gt_color-color-int = 1.
      gt_color-color-inv = 1.
      append gt_color.
      xdata-symbols = sym_filled_diamond.
    endif.
    modify xdata.
  endloop.
*
  hdata[] = xdata[].
  ldata[] = xdata[].
  idata[] = ydata[].
*
  select * from sbook up to 50 rows.
    l_tabix = l_tabix + 1.
    l_tabix2 = l_tabix2 + 1.
    move-corresponding sbook to zdata.
    if l_tabix &amp;gt; 20.
      zdata-carrid = 'LH'.
      zdata-connid = '47'.
    endif.
    if l_tabix &amp;gt; 14 and l_tabix &amp;lt;= 20 or
       l_tabix &amp;gt; 25.
      zdata-fldate = zdata-fldate + 1.
    endif.
    if l_tabix2 &amp;gt; 7 and l_tabix &amp;lt;= 20.
      zdata-connid = 49.
    elseif l_tabix &amp;gt;= 26.
      zdata-connid = 51.
    endif.
    if l_tabix2 &amp;gt;= 14 and l_tabix &amp;lt;= 20 .
      clear l_tabix2.
    endif.
    append zdata.
  endselect.

  loop at zdata.
    l_tabix = sy-tabix.
    if l_tabix = 1.
      zdata-loccuram = 520.
    endif.
    refresh gt_color.
    clear   gt_color.
    if zdata-loccuram &amp;lt; 500.
      zdata-ampel = '1'.
    elseif zdata-loccuram &amp;lt; 530.
      zdata-ampel = '2'.
    else.
      zdata-ampel = '3'.
    endif.
    if zdata-loccuram &amp;gt; 600.
      gt_color-fieldname = 'LOCCURAM'.
      gt_color-color-col = 6.
      gt_color-color-int = 0.
      append gt_color.
      zdata-symbols = sym_plus_circle.
    elseif zdata-loccuram &amp;gt; 500.
      gt_color-color-col = 5.
      gt_color-color-int = 0.
      append gt_color.
      zdata-symbols = sym_filled_square.
    else.
      gt_color-fieldname = 'LOCCURAM'.
      gt_color-color-col = 7.
      gt_color-color-int = 1.
      gt_color-color-inv = 1.
      append gt_color.
      zdata-symbols = sym_filled_diamond.
    endif.
    if zdata-luggweight = 0.
      zdata-icons = icon_incomplete.
      gt_color-fieldname = 'LUGGWEIGHT'.
      gt_color-color-col = 4.
      gt_color-color-int = 1.
      gt_color-color-inv = 1.
      append gt_color.
    elseif zdata-luggweight &amp;lt; 45.
      zdata-icons = icon_checked.
      gt_color-fieldname = 'LUGGWEIGHT'.
      gt_color-color-col = 6.
      gt_color-color-int = 1.
      gt_color-color-inv = 1.
      append gt_color.
    else.
      zdata-icons = icon_failure.
      gt_color-fieldname = 'LUGGWEIGHT'.
      gt_color-color-col = 5.
      gt_color-color-int = 1.
      gt_color-color-inv = 1.
      append gt_color.
    endif.
    zdata-numc = ( l_tabix div 10 ) * 10.
    zdata-colinfo = gt_color[].
    if not zdata-luggweight is initial.
      move '??' to zdata-wunit.
    endif.
    modify zdata.
  endloop.

  if max_data = 'X'.
    do 100 times.
      append xdata.
      append ydata.
      append zdata.
*     append hdata.
*     append idata.
    enddo.
  endif.
endform.                               " SELECTION
*---------------------------------------------------------------------*
*       FORM EVENTS                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form levents.
endform.
form xevents.
  clear xs_event.
  xs_event-name = slis_ev_end_of_page.
  xs_event-form = 'XEND_OF_PAGE'.
  append xs_event to gt_xevents.
  clear xs_event.
  xs_event-name = slis_ev_top_of_page.
  xs_event-form = 'XTOP_OF_PAGE'.
  append xs_event to gt_xevents.
  clear xs_event.
  xs_event-name = slis_ev_top_of_list.
  xs_event-form = 'XTOP_OF_LIST'.
  append xs_event to gt_xevents.
  clear xs_event.
  xs_event-name = slis_ev_end_of_list.
  xs_event-form = 'XEND_OF_LIST'.
  append xs_event to gt_xevents.
  clear xs_event.
* XS_EVENT-NAME = SLIS_EV_BEFORE_LINE_OUTPUT.
* XS_EVENT-FORM = 'XBEFORE_LINE_OUTPUT'.
* APPEND XS_EVENT TO GT_XEVENTS.
endform.
*---------------------------------------------------------------------*
*       FORM YEVENTS                                                  *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form yevents.
  clear xs_event.
  xs_event-name = slis_ev_end_of_page.
  xs_event-form = 'YEND_OF_PAGE'.
  append xs_event to gt_yevents.
  clear xs_event.
  xs_event-name = slis_ev_top_of_page.
  xs_event-form = 'YTOP_OF_PAGE'.
  append xs_event to gt_yevents.
  clear xs_event.
  xs_event-name = slis_ev_top_of_list.
  xs_event-form = 'YTOP_OF_LIST'.
  append xs_event to gt_yevents.
  clear xs_event.
  xs_event-name = slis_ev_end_of_list.
  xs_event-form = 'YEND_OF_LIST'.
  append xs_event to gt_yevents.
endform.
form hevents.
  clear xs_event.
  xs_event-name = slis_ev_top_of_page.
  xs_event-form = 'HTOP_OF_PAGE'.
  append xs_event to gt_hevents.
  clear xs_event.
  xs_event-name = slis_ev_top_of_list.
  xs_event-form = 'HTOP_OF_LIST'.
  append xs_event to gt_hevents.
  clear xs_event.
  xs_event-name = slis_ev_end_of_list.
  xs_event-form = 'HEND_OF_LIST'.
  append xs_event to gt_hevents.
endform.
form zevents.
* CLEAR XS_EVENT.
* XS_EVENT-NAME = SLIS_EV_BEFORE_LINE_OUTPUT.
* XS_EVENT-FORM = 'ZBEFORE_LINE_OUTPUT'.
* APPEND XS_EVENT TO GT_ZEVENTS.
endform.
*
form zbefore_line_output using lineinfo type slis_lineinfo.
  write at /20 'HalloZ'.
endform.
form xbefore_line_output using lineinfo type slis_lineinfo.
  write at /20 'HalloX'.
endform.
form xtop_of_page.
* BREAK-POINT.
  write: / 'X_TOP_OF_PAGE'.
endform.
*---------------------------------------------------------------------*
*       FORM XTOP_OF_LIST                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form xtop_of_list.
* BREAK-POINT.
  write: / 'X_TOP_OF_LIST'.
endform.
*---------------------------------------------------------------------*
*       FORM XEND_OF_PAGE                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form xend_of_page.
* BREAK-POINT.
  write: / 'X_END_OF_PAGE'.
endform.
*---------------------------------------------------------------------*
*       FORM XEND_OF_LIST                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form xend_of_list.
* BREAK-POINT.
  write: / 'X_END_OF_LIST'.
endform.
*
form ytop_of_page.
* BREAK-POINT.
  write: / 'Y_TOP_OF_PAGE'.
endform.
*---------------------------------------------------------------------*
*       FORM YTOP_OF_LIST                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form ytop_of_list.
* BREAK-POINT.
  write: / 'Y_TOP_OF_LIST'.
endform.
*---------------------------------------------------------------------*
*       FORM YEND_OF_PAGE                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form yend_of_page.
* BREAK-POINT.
  write: / 'Y_END_OF_PAGE'.
endform.
*---------------------------------------------------------------------*
*       FORM YEND_OF_LIST                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form yend_of_list.
* BREAK-POINT.
  write: / 'Y_END_OF_LIST'.
endform.
*
*---------------------------------------------------------------------*
*       FORM YTOP_OF_LIST                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form htop_of_list.
* BREAK-POINT.
  write: / 'h_TOP_OF_LIST'.
endform.
*---------------------------------------------------------------------*
*       FORM YEND_OF_PAGE                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form hend_of_page.
* BREAK-POINT.
  write: / 'h_END_OF_PAGE'.
endform.
*---------------------------------------------------------------------*
*       FORM YEND_OF_LIST                                             *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
form hend_of_list.
* BREAK-POINT.
  write: / 'h_END_OF_LIST'.
endform.
*
form user_command using r_ucomm like sy-ucomm
                        rs_selfield type slis_selfield.
  case r_ucomm.
    when 'REFR'.
      loop at xdata.
        if xdata-box = 'X'.
          xdata-listinfo = 'C50'.
        else.
          xdata-listinfo = space.
        endif.
        modify xdata.
      endloop.
      loop at ydata.
        if ydata-box = 'X'.
          ydata-listinfo = 'C50'.
        else.
          ydata-listinfo = space.
        endif.
        modify ydata.
      endloop.
      loop at idata.
        if idata-box = 'X'.
          idata-listinfo = 'C50'.
        else.
          idata-listinfo = space.
        endif.
        modify idata.
      endloop.
*     LOOP AT HDATA.
*       IF HDATA-BOX = 'X'.
*         HDATA-LISTINFO = 'C50'.
*       ELSE.
*         HDATA-LISTINFO = SPACE.
*       ENDIF.
*       MODIFY HDATA.
*     ENDLOOP.
      rs_selfield-refresh = 'X'.
    when others.
  endcase.
endform.
*---------------------------------------------------------------------*
*       FORM PF_STATUS_SET                                            *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  --&amp;gt;  EXTAB                                                         *
*---------------------------------------------------------------------*
form pf_status_set using extab type slis_t_extab.
* BREAK-POINT.
  set pf-status 'STANDARD' excluding extab.
endform.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Just copy the BALVBT01 program(copy all components) and place the BOLD code exactly the same place. and see..&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 13:02:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429713#M205584</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T13:02:34Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429714#M205585</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have tried it but i am not able to proceed...&lt;/P&gt;&lt;P&gt;iam pasting my code plss have a look and help me out.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT zcmsr047 MESSAGE-ID zz
NO STANDARD PAGE HEADING
LINE-SIZE 350.

TABLES: likp,
        lips,
        vbak,
        vbpa,
        vbuk,
        vbrk,
        vbrp,
        vttk,
        vttp,
        vbfa,
        stxh,                          "pmp 13.01.01
        t001k,                         "pmp 13.01.01
        j_1iexchdr,
        j_1iexcdtl,
        adrc,
        ZTRMT,
        kna1, zraildet.                                     "AA 100501
type-pools : slis.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,  "mara
       WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,  "makt
       WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV,  "marc
       WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.
DATA : IT_FIELDCAT3 TYPE SLIS_T_FIELDCAT_ALV,  "marc
       WA_FIELDCAT3 TYPE SLIS_FIELDCAT_ALV.


DATA: GT_PRINT TYPE SLIS_PRINT_ALV,
      WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
      XS_EVENT  TYPE SLIS_ALV_EVENT,
      GT_XEVENTS TYPE SLIS_T_EVENT,
      GT_YEVENTS TYPE SLIS_T_EVENT,
      GT_ZEVENTS TYPE SLIS_T_EVENT,
      WA_SORT TYPE SLIS_SORTINFO_ALV,
      IT_SORT TYPE SLIS_T_SORTINFO_ALV.


*---------------------------------
*PARAMETERS : a TYPE c.



DATA: ship_doc LIKE vttk-tknum,
      bill     LIKE vbrp-vbeln,
      c_vbeln  LIKE likp-vbeln,
      s_vbeln  LIKE vbfa-vbeln.

DATA: BEGIN OF itab1 OCCURS 0,
       vbeln LIKE likp-vbeln,
       wadat_ist LIKE likp-wadat_ist,
       erdat    LIKE likp-erdat,
       kunag LIKE likp-kunag,
       lfart LIKE likp-lfart,
       kunnr LIKE likp-kunnr,
       werks LIKE likp-werks,
       vstel LIKE likp-vstel,
       bolnr LIKE likp-bolnr, "Added by AA 27/04/01.
       exti1 LIKE vttk-exti1,
       tdlnr LIKE vttk-tdlnr,
       vtweg LIKE vbak-vtweg,                               "AA 100501.
       vgbel LIKE lips-vgbel,                               "AA 100501
       kzwi6 LIKE vbrp-kzwi6,                             " R002 added
       OWNCAT LIKE ZTRMT-OWNCAT,
       CAPITN LIKE ZTRMT-CAPITN.


DATA: END OF itab1.


DATA : BEGIN OF it_vbfa1 OCCURS 0,
       vbeln LIKE vbfa-vbeln,
       vbelv LIKE vbfa-vbeln,
       END OF it_vbfa1.

DATA : BEGIN OF it_vbfa2 OCCURS 0,
       vbeln LIKE vbfa-vbeln,
       vbelv LIKE vbfa-vbeln,
       posnv LIKE vbfa-posnv,
       END OF it_vbfa2.

DATA : BEGIN OF it_vbrp OCCURS 0,
       vbeln LIKE vbrp-vbeln,
       kzwi6 LIKE vbrp-kzwi6,
       posnr LIKE vbrp-posnr,
       END OF it_vbrp.

DATA : BEGIN OF it_vbak OCCURS 0,
       vbeln LIKE vbfa-vbeln,
       vtweg LIKE vbak-vtweg,
       auart LIKE vbak-auart,
       END OF it_vbak.

DATA : BEGIN OF it_vttp OCCURS 0,
       vbeln LIKE vttp-vbeln,
       tknum LIKE vttp-tknum,
       END OF it_vttp.

DATA : BEGIN OF it_vttk OCCURS 0,
       tknum LIKE vttk-tknum,
       exti1 LIKE vttk-exti1,
       tdlnr LIKE vttk-tdlnr,
       END OF it_vttk.

DATA : BEGIN OF it_vbuk OCCURS 0,
       vbeln LIKE vbuk-vbeln,
       wbstk LIKE vbuk-wbstk,
       END OF it_vbuk.

DATA : BEGIN OF it_zrail OCCURS 0,
       zzdelivery LIKE zraildet-zzdelivery,
       zzwagon LIKE zraildet-zzwagon,
       END OF it_zrail.

DATA: BEGIN OF itab2 OCCURS 0,
       vbeln LIKE likp-vbeln,
       wadat_ist LIKE likp-wadat_ist,
       erdat    LIKE likp-erdat,
       lfart LIKE likp-lfart,
       kunag LIKE likp-kunag,
       kunnr LIKE likp-kunnr,
       r_plant LIKE likp-werks,
       vstel LIKE likp-vstel,
       vkgrp LIKE lips-vkgrp,
       auart LIKE vbak-auart,
       matnr LIKE lips-matnr,
       lfimg LIKE lips-lfimg,
       werks LIKE lips-werks,
       name1 LIKE adrc-name1,
       city1 LIKE adrc-city1,
       preprn LIKE j_1iexchdr-preprn,
       vgbel LIKE lips-vgbel,          " Order No. SC
       exti1  LIKE vttk-exti1,         "Truck Number
       exti2  LIKE vttk-exti2,         "LR Number
       tdlnr  LIKE vttk-tdlnr,         "Transporter
       exbed  LIKE j_1iexchdr-exbed,
** R004
       ecs LIKE  j_1iexchdr-ecs,
       totexcamt LIKE j_1iexchdr-exbed,
** end R004
       exnum  LIKE j_1iexchdr-exnum,
       exdat  LIKE j_1iexchdr-exdat,
       status LIKE j_1iexchdr-status,
       sales_ord LIKE vbak-vbeln,
       wpreprn(10),                                         "pmp 020401
       kname1 LIKE kna1-name1,                              "AA 100501.
       vtweg  LIKE vbak-vtweg,                              "AA 100501
       kzwi6 LIKE vbrp-kzwi6,                            " R002 added
***** CHANGE ON 07-07-06
       OWNCAT LIKE ZTRMT-OWNCAT,
       CAPITN LIKE ZTRMT-CAPITN,
       slno type i,
       rnew(18),


       END OF itab2.

data:begin of it_ztrmt occurs 0,
      truckno like ztrmt-truckno,
      OWNCAT LIKE ZTRMT-OWNCAT,
       CAPITN LIKE ZTRMT-CAPITN,
       end of it_ztrmt.

DATA: BEGIN OF itab3 OCCURS 0,
      bukrs LIKE t001k-bukrs,          "pmp 13.01.01
      matnr LIKE lips-matnr,
      werks LIKE lips-werks,           "pmp 13.01.01
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA : END OF itab3.

DATA: BEGIN OF itab4 OCCURS 0,         "pmp 13.01.01
      matnr LIKE lips-matnr,
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA: END OF itab4.

DATA: BEGIN OF itab7 OCCURS 0,         "pmp 13.01.01
      matnr LIKE lips-matnr,
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA: END OF itab7.

DATA : BEGIN OF itab5 OCCURS 0,
       kunnr LIKE kna1-kunnr,
       name1 LIKE kna1-name1,
       END OF itab5.                                        " +R007


DATA: wtline LIKE tline OCCURS 0 WITH HEADER LINE. "PMP 13.01.01
DATA: wname LIKE thead-tdname.         "PMP 13.01.01
DATA  slno TYPE i.

**** change/002 by rs on 08.10.2002
DATA: BEGIN OF iexcdtl OCCURS 0,
      docno LIKE j_1iexcdtl-docno,
      docno1 LIKE j_1iexcdtl-docno,
      rdoc1 LIKE j_1iexcdtl-rdoc1,
      exnum LIKE j_1iexcdtl-exnum,
      exnum1 LIKE j_1iexcdtl-exnum,
      werks LIKE j_1iexcdtl-werks,
      docyr LIKE j_1iexcdtl-docyr,
      END OF iexcdtl.

DATA: BEGIN OF iexchdr OCCURS 0,
      bukrs  LIKE j_1iexchdr-bukrs,
      werks  LIKE j_1iexchdr-werks,   " VBK 090402
      docyr  LIKE j_1iexchdr-docyr,
      preprn LIKE j_1iexchdr-preprn,
      exnum  LIKE j_1iexchdr-exnum,
      exdat  LIKE j_1iexchdr-exdat,
      status LIKE j_1iexchdr-status,
      exbed  LIKE j_1iexchdr-exbed,
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs,
      END OF iexchdr.

DATA  n TYPE i.
DATA : w_kzwi6 LIKE vbrp-kzwi6.
" R002 added
*-- +R009 --*
DATA v_diff TYPE i.
*-- +R009 --*
DATA: BEGIN OF itab6 OCCURS 0,
      bukrs LIKE t001k-bukrs,          "pmp 13.01.01
      matnr LIKE lips-matnr,
      werks LIKE lips-werks,           "pmp 13.01.01
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA : END OF itab6.

***------------------------------------------------------------------***
***------------------------------------------------------------------***

SELECTION-SCREEN : BEGIN OF BLOCK abc WITH FRAME TITLE text-001.
SELECT-OPTIONS:
        vstel FOR   likp-vstel OBLIGATORY, " NO INTERVALS ,
        date  FOR   likp-wadat_ist OBLIGATORY,
        erdat FOR   likp-erdat,
        kunag FOR   likp-kunag NO INTERVALS,
        smatnr FOR lips-matnr,
        werks FOR   likp-werks NO INTERVALS NO-EXTENSION,
        pvtweg FOR  lips-vtweg .
PARAMETERS: PFSTATUS TYPE SLIS_FORMNAME DEFAULT 'PF_STATUS_SET'.

SELECTION-SCREEN : END OF BLOCK abc.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
SELECT-OPTIONS: ptdlnr FOR vttk-tdlnr NO INTERVALS,
            pexti1 FOR vttk-exti1 NO INTERVALS,
            pkunnr FOR likp-kunnr NO INTERVALS.
SELECTION-SCREEN END OF BLOCK b.

SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-003.
PARAMETERS : sorticdn  RADIOBUTTON GROUP b1 DEFAULT 'X',
             sortdelv  RADIOBUTTON GROUP b1,
             sortstat  RADIOBUTTON GROUP b1,
             sortamt   RADIOBUTTON GROUP b1,
             sortdest  RADIOBUTTON GROUP b1.
SELECTION-SCREEN END OF BLOCK c.
***------------------------------------------------------------------***
***------------------------------------------------------------------***


AT SELECTION-SCREEN.

  IF vstel CA '*'.
    MESSAGE e034 WITH 'Give specific value!!'.
  ENDIF.


  v_diff =  date-high - date-low .
  IF v_diff GT 31.
    MESSAGE e034 WITH 'Kindly Run This Report For 31 days or less!!'.
  ENDIF.

***------------------------------------------------------------------***
***------------------------------------------------------------------***
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      percentage = 100
      text       = 'Wait, Your Job Is Under Progress!!!'.
***------------------------------------------------------------------***
***------------------------------------------------------------------***

START-OF-SELECTION.


  CLEAR : it_vbfa1, it_vbfa1[],
          it_vbak,  it_vbak[],
          it_vbfa2, it_vbfa2[],
          it_vbrp,  it_vbrp[],
          it_vttp,  it_vttp[],
          it_vttk,  it_vttk[],
          it_vbuk,  it_vbuk[],
          it_zrail, it_zrail[].


**-- Initial population of data from LIKP --**
* Population of ITAB1

  IF NOT kunag IS INITIAL AND
     NOT pkunnr IS INITIAL AND
     NOT werks IS INITIAL AND
     NOT erdat IS INITIAL.

    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
           WHERE     wadat_ist IN date
           AND       vstel     IN vstel
           AND       kunnr     IN pkunnr
           AND       werks     IN werks
           AND       erdat     IN erdat
           AND       kunag     IN kunag
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.

  ELSEIF
       kunag IS INITIAL AND
       pkunnr IS INITIAL AND
       werks IS INITIAL AND
       erdat IS INITIAL.

    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
           WHERE
           vstel IN vstel
           AND wadat_ist IN date
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z4")'.


  ELSEIF
      kunag IS INITIAL AND
      erdat IS INITIAL.

    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
           WHERE     wadat_ist IN date
           AND       vstel     IN vstel
           AND       kunnr     IN pkunnr
           AND       werks     IN werks
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.


  ELSE.
    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
         WHERE     wadat_ist IN date
         AND       vstel     IN vstel
         AND       kunnr     IN pkunnr
         AND       werks     IN werks
         AND       erdat     IN erdat
         AND       kunag     IN kunag
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.

  ENDIF.


*- very important condition was missing -*
  IF itab1[] IS INITIAL.
    MESSAGE e034 WITH 'No suitable records found!!'.
  ENDIF.

*--PDS_OPT--*
**-- Fetching data from VBFA --*
*-- Distribution Channel --*

  break abap.

  SELECT vbeln vbelv FROM vbfa INTO TABLE it_vbfa1          "OK Z11
  FOR ALL  ENTRIES IN itab1
  WHERE
  vbeln EQ itab1-vbeln AND
  vbtyp_n EQ 'J' AND
  vbtyp_v EQ 'C'.

  IF NOT it_vbfa1[] IS INITIAL.
**-- Fetching data from VBAK --*
    SELECT vbeln vtweg FROM vbak INTO TABLE it_vbak
   FOR ALL ENTRIES IN it_vbfa1
   WHERE
   vbeln EQ it_vbfa1-vbelv
   AND
   vtweg IN pvtweg.
  ENDIF.

*-- if shipping point eq ÁCW --*

**-- Fetching data from VBFA --*
*--  Subtotal 6 from pricing procedure KZWI6 --*

  IF vstel-low EQ 'ACW'.
    SELECT vbeln vbelv posnv FROM vbfa INTO TABLE it_vbfa2  "OK Z3
       FOR ALL  ENTRIES IN itab1
       WHERE
       vbelv EQ itab1-vbeln AND
       vbtyp_n EQ 'M' AND
       vbtyp_v EQ 'J'.

    IF NOT it_vbfa2[] IS INITIAL.
      SELECT vbeln kzwi6 posnr FROM vbrp INTO TABLE it_vbrp "OK Z1
      FOR ALL ENTRIES IN it_vbfa2
      WHERE
      vbeln EQ it_vbfa2-vbeln
      %_HINTS ORACLE 'index("VBRP" "VBRP~Z1")'.
    ENDIF.

  ELSE.
*-- if shipping point ne ÁCW --*
    SELECT vbeln vbelv posnv FROM vbfa INTO TABLE it_vbfa2  "OK Z3
          FOR ALL  ENTRIES IN itab1
          WHERE
          vbelv EQ itab1-vbeln AND
          vbtyp_n EQ 'U' AND
          vbtyp_v EQ 'J'.

    IF NOT it_vbfa2[] IS INITIAL.
      SELECT vbeln kzwi6 posnr FROM vbrp INTO TABLE it_vbrp "OK Z1
      FOR ALL ENTRIES IN it_vbfa2
      WHERE
      vbeln EQ it_vbfa2-vbeln
            %_HINTS ORACLE 'index("VBRP" "VBRP~Z1")'.
    ENDIF.
  ENDIF.


*-- External ID --*
*-- no. of forwarding agent --*

**-- Fetching data from VTTP --*
  SELECT vbeln tknum FROM vttp INTO TABLE it_vttp  "OK VBL
  FOR ALL ENTRIES IN itab1
  WHERE
  vbeln EQ itab1-vbeln.

  IF sy-dbcnt NE 0.
**-- Fetching data from VTTK --*
*- 16/05/2006 -*
    SELECT tknum exti1 tdlnr FROM vttk INTO TABLE it_vttk "OK PRIMARY
    FOR ALL ENTRIES IN it_vttp
    WHERE
    tknum EQ it_vttp-tknum
    AND
    tdlnr IN ptdlnr AND
    exti1 IN pexti1.
  ENDIF.


**********************************CHANGE ON 07-07-06

  SELECT * FROM ZTRMT INTO corresponding fields of
         TABLE  IT_ztrmt .






**-- Fetching data from VBUK --*
*-- Total goods movement status --*
  SELECT vbeln wbstk FROM vbuk INTO TABLE it_vbuk           "OK Z1
  FOR ALL ENTRIES IN itab1
  WHERE
  vbeln EQ itab1-vbeln AND
  wbstk EQ 'C'.


**-- Moving required flds to ITAB1 --*
*- ITAB1 processing -*
  SORT itab1 BY vbeln.

  SORT it_vbfa1 BY vbeln.
  SORT it_vbak BY vbeln.
  SORT it_vttp BY vbeln.
  SORT it_vttk BY tknum.
  SORT it_vbuk BY vbeln.
  SORT PTDLNR BY LOW.
  SORT PEXTI1 BY LOW.

  LOOP AT itab1.

**-------------------**
* condition problem
**-------------------**

* moving VTWEG to itab1.

    READ TABLE it_vbfa1 WITH KEY vbeln = itab1-vbeln BINARY SEARCH.
    IF sy-subrc EQ 0.
      READ TABLE it_vbak WITH KEY vbeln = it_vbfa1-vbelv BINARY SEARCH.
      IF sy-subrc EQ 0.
        MOVE it_vbak-vtweg TO itab1-vtweg.
        MODIFY itab1 TRANSPORTING vtweg.
      ELSE.
* problem *
        DELETE itab1.
        CONTINUE.
      ENDIF.
    ENDIF.

* moving KZWI6 to itab1.
    LOOP AT it_vbfa2 WHERE vbelv EQ itab1-vbeln.
      CLEAR w_kzwi6.                                        "20042006
      LOOP AT it_vbrp WHERE vbeln = it_vbfa2-vbeln.
        w_kzwi6 = w_kzwi6 + it_vbrp-kzwi6.
      ENDLOOP.
      EXIT.
    ENDLOOP.
    MOVE w_kzwi6 TO itab1-kzwi6.
    MODIFY itab1 TRANSPORTING kzwi6.

* moving EXTI1 TDLNR to itab1
    READ TABLE it_vttp WITH KEY vbeln = itab1-vbeln BINARY SEARCH.
    IF sy-subrc EQ 0.
      READ TABLE it_vttk WITH KEY tknum = it_vttp-tknum BINARY SEARCH.

*******************************************CHANGE ON 07-07-06.




      IF sy-subrc EQ 0.
        MOVE it_vttk-tdlnr TO itab1-tdlnr.
        MOVE it_vttk-exti1 TO itab1-exti1.

        MODIFY itab1 TRANSPORTING tdlnr exti1.
      ENDIF.
    ENDIF.

* checking for goods movement status
    READ TABLE it_vbuk WITH KEY vbeln = itab1-vbeln BINARY SEARCH.
    IF sy-subrc NE 0.
      DELETE itab1.
      CONTINUE.                                             "16052006
    ENDIF.

    IF ptdlnr NE space.                                     "16052006
      READ TABLE ptdlnr WITH KEY low = itab1-tdlnr BINARY SEARCH.
      IF sy-subrc NE 0.
        DELETE itab1.
        continue.
      ENDIF.
    ENDIF.

        IF  pexti1 NE space .                               "16052006

*        ENDIF.                    "-16052006
*      ELSE.                       "-16052006

        READ TABLE pexti1 WITH KEY low = itab1-exti1 BINARY SEARCH.
        IF sy-subrc NE 0.
          DELETE itab1.
        ENDIF.
      ENDIF.

*    ENDIF.                         "-16052006
*      ENDIF.                       "-16052006

*    ENDIF.                         "-16052006



  ENDLOOP.
*--PDS_OPT--*

* releasing memory occupied by these tables
  FREE : it_vbfa1,
         it_vbak,
         it_vbfa2,
         it_vbrp,
         it_vttp,
         it_vttk,
         it_vbuk,
         it_zrail.



**-- fetching from KNA1 --**
* Population of ITAB5


*- very important condition was missing -*
*- 24042006 -*
  IF itab1[] IS INITIAL.
    MESSAGE e034 WITH 'No suitable records found!!'.
  ENDIF.

  SELECT kunnr name1  FROM kna1
          INTO TABLE  itab5
          FOR ALL ENTRIES IN itab1
          WHERE kunnr = itab1-kunag
  %_HINTS ORACLE 'INDEX("KNA1" "KNA1~0")'.

  DELETE ADJACENT DUPLICATES FROM itab5.

**-- fetching from LIPS --**
* Population of ITAB2

  SELECT vbeln vkgrp matnr lfimg werks vgbel FROM lips
         INTO CORRESPONDING FIELDS OF TABLE  itab2
         FOR ALL ENTRIES IN itab1
          WHERE vbeln = itab1-vbeln
            AND pstyv NE 'ZREC'
            AND matnr IN smatnr
  %_HINTS ORACLE 'INDEX("LIPS" "LIPS~Z14")'.




**-- fetching from ZRAILDET --**
  SELECT zzdelivery zzwagon FROM zraildet INTO TABLE it_zrail"OK Z1
  FOR ALL ENTRIES IN itab1
  WHERE
  zzdelivery = itab1-vbeln.


*-- 20042006 --*
  SORT itab1 BY vbeln.
  SORT itab5 BY kunnr.
  SORT  it_zrail BY zzdelivery.

*-- 20042006 --*

  LOOP AT itab2.
    READ TABLE itab1 WITH KEY vbeln = itab2-vbeln BINARY SEARCH.
    IF sy-subrc = 0.
      MOVE itab1-wadat_ist TO itab2-wadat_ist.
      MOVE itab1-erdat     TO itab2-erdat.
      MOVE itab1-kunag     TO itab2-kunag.
      MOVE itab1-lfart     TO itab2-lfart.
      MOVE itab1-kunnr     TO itab2-kunnr.
      MOVE itab1-vstel     TO itab2-vstel.
      MOVE itab1-werks     TO itab2-r_plant.
      MOVE itab1-vtweg     TO itab2-vtweg.
      MOVE itab1-kzwi6     TO itab2-kzwi6.
      MOVE itab1-tdlnr     TO itab2-tdlnr.
      MOVE itab1-exti1     TO itab2-exti1.



* *************************  change on 07-07-06



      IF itab2-tdlnr IS INITIAL.
        READ TABLE it_zrail WITH KEY zzdelivery = itab1-vbeln BINARY
  SEARCH.
        IF sy-subrc = 0.
          itab2-tdlnr     = 'RAILWAY'.
          itab2-exti1     = zraildet-zzwagon.
        ENDIF.
      ENDIF.
*
      READ TABLE IT_ZTRMT WITH KEY TRUCKNO = itab1-exti1 .
          IF SY-SUBRC = 0.
           MOVE IT_ZTRMT-OWNCAT  TO ITAB2-OWNCAT.
           MOVE IT_ZTRMT-CAPITN  TO ITAB2-CAPITN.
           MODIFY itab2  TRANSPORTING OWNCAT CAPITN.

           ENDIF.

           clear it_ztrmt.






      READ TABLE itab5 WITH KEY kunnr = itab1-kunag BINARY SEARCH
      TRANSPORTING name1 .
      MOVE itab5-name1 TO itab2-kname1.
    ELSE.
      CONTINUE.
    ENDIF.
    MODIFY itab2 .
    CLEAR : itab1,itab2,itab5.
  ENDLOOP.

  DESCRIBE TABLE itab2 LINES n .

  IF n = 0.
    MESSAGE e034 WITH 'No records found for the selection'.
  ENDIF.

  SELECT  docno                                             "OK Z2
          rdoc1
          exnum
          docyr
          werks INTO CORRESPONDING
                FIELDS OF TABLE iexcdtl FROM j_1iexcdtl
                FOR ALL ENTRIES IN itab2
                WHERE rdoc1  = itab2-vbeln AND
                trntyp = 'DLFC' AND
                werks  IN vstel AND
                status NE 'R'                               "+R007
*-- +R009 --*
     %_HINTS ORACLE 'INDEX("J_1IEXCDTL" "J_1IEXCDTL~Z2")'.  " +R009
*-- +R009 --*

*  IF NOT iexcdtl[] IS INITIAL.
  LOOP AT iexcdtl.
    UNPACK iexcdtl-docno TO iexcdtl-docno1.
    UNPACK iexcdtl-exnum TO iexcdtl-exnum1.
    MODIFY iexcdtl.
  ENDLOOP.

  IF NOT iexcdtl[] IS INITIAL.
    SELECT docyr                                            "OK Z05
           bukrs
           werks
           preprn
           exnum
           exdat
           status
           exbed
           ecs
           INTO CORRESPONDING FIELDS OF TABLE iexchdr FROM
                 j_1iexchdr FOR ALL ENTRIES IN iexcdtl
                       WHERE
                       docno  = iexcdtl-docno1
                       AND trntyp = 'DLFC'
                       AND docyr =  iexcdtl-docyr
                       AND exnum  = iexcdtl-exnum1
                       AND werks  = iexcdtl-werks
                       AND status NE 'R'
*-- +R009 --*
     %_HINTS ORACLE 'INDEX("J_1IEXCHDR" "J_1IEXCHDR~Z05")'. " +R009
*-- +R009 --*
  ENDIF.



*  DATA : BEGIN OF a_itab OCCURS 0,
*           vbeln LIKE vbfa-vbelv,
*         END OF a_itab.

*--done---*

  SELECT vbeln auart      "OK PRIMARY
     INTO CORRESPONDING FIELDS OF TABLE it_vbak
     FROM vbak
     FOR ALL ENTRIES IN itab2
     WHERE
     vbeln EQ itab2-vgbel.


  SORT iexcdtl BY rdoc1.
  SORT iexchdr BY exnum werks.
  SORT it_vbak BY vbeln.

  LOOP AT itab2.

    READ TABLE iexcdtl WITH KEY rdoc1 = itab2-vbeln BINARY SEARCH.
    IF sy-subrc = 0.
      READ TABLE iexchdr WITH KEY exnum = iexcdtl-exnum
                                  werks = itab2-werks
                                  BINARY SEARCH.
      IF sy-subrc = 0.
        itab2-preprn = iexchdr-preprn.
        itab2-exnum  = iexchdr-exnum.
        itab2-exdat  = iexchdr-exdat.
        itab2-status = iexchdr-status.
        itab2-exbed  = iexchdr-exbed.
        itab2-ecs  = iexchdr-ecs.
      ENDIF.
    ENDIF.

    IF itab2-preprn EQ space.
      MOVE itab2-vbeln TO wname.
      SELECT SINGLE * FROM stxh CLIENT SPECIFIED
         WHERE mandt    = sy-mandt
           AND tdobject = 'VBBK'
           AND tdname   = wname
           AND tdid     = 'Z805'
           AND tdspras  = sy-langu.

      IF sy-subrc EQ 0.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
            client   = sy-mandt
            id       = 'Z805'
            language = sy-langu
            name     = wname
            object   = 'VBBK'
          TABLES
            lines    = wtline.

        READ TABLE wtline INDEX 1.
        itab2-preprn = wtline-tdline+0(12) .
      ENDIF.

    ENDIF.

    READ TABLE it_vbak WITH KEY vbeln = itab2-vgbel BINARY SEARCH.
    IF sy-subrc IS INITIAL.
      MOVE it_vbak-auart TO itab2-auart.
    ENDIF.

    WRITE: itab2-preprn TO itab2-wpreprn RIGHT-JUSTIFIED.

    CLEAR itab2-totexcamt.
    itab2-totexcamt = itab2-exbed + itab2-ecs.


    CALL FUNCTION 'J_1I6_ROUND_TO_NEAREST_AMT'
      EXPORTING
        i_amount        = itab2-totexcamt
*   I_AMOUNT1       =
*   I_AMOUNT2       =
*   I_AMOUNT3       =
*   I_AMOUNT5       =
     IMPORTING
       e_amount         = itab2-totexcamt
*   E_AMOUNT1       =
*   E_AMOUNT2       =
*   E_AMOUNT3       =
*   E_AMOUNT5       =
           .
** End R005

    MODIFY itab2.

  ENDLOOP.

END-OF-SELECTION.

  IF sortdelv EQ 'X'.
    SORT itab2 BY vbeln.
  ELSEIF sorticdn EQ 'X'.
    SORT itab2 BY wpreprn.      "preprn.    "pmp 020401
  ELSEIF sortamt EQ 'X'.
    SORT itab2 BY exbed .
  ELSEIF sortstat EQ 'X'.
    SORT itab2 BY status.
  ELSEIF sortdest EQ 'X'.
    SORT itab2 BY kunnr.
  ENDIF.
  CLEAR slno.
  FORMAT INTENSIFIED OFF.

  LOOP AT itab2.
    slno = slno + 1.
 itab2-slno = slno.
    IF itab2-preprn EQ space.
      READ TABLE itab1 WITH KEY vbeln = itab2-vbeln BINARY SEARCH.
      IF sy-subrc = 0.
        itab2-preprn = itab1-bolnr.
      ENDIF.
      modify itab2 transporting preprn where vbeln = itab2-vbeln.
    ENDIF.


    IF itab2-lfart EQ 'NL'.
      itab2-rnew = itab2-r_plant.
    ELSE.
      itab2-rnew = itab2-kunag.
    ENDIF.
    modify itab2 .
 ENDLOOP.

 loop at itab2.
    select single OWNCAT CAPITN into (itab2-OWNCAT, ITAB2-CAPITN) from
ztrmt where truckno = itab2-exti1.
if sy-subrc = 0.
modify itab2 index sy-tabix.
endif.
endloop.



  LOOP AT itab2.
    CLEAR itab3.                       "pmp 13.01.01
    MOVE-CORRESPONDING itab2 TO itab3.

**pmp 13.01.01
    MOVE-CORRESPONDING itab2 TO itab4.
    APPEND itab4.
    SELECT SINGLE * FROM t001k WHERE bwkey = itab2-werks.
    IF sy-subrc EQ 0.
      MOVE t001k-bukrs TO itab3-bukrs.
    ENDIF.

    APPEND itab3.
  ENDLOOP.

  SORT itab3 BY bukrs matnr.           "pmp 13.01.01
  CLEAR: itab3.                        "pmp 13.01.01
  LOOP AT itab3.

    AT NEW bukrs.
itab6-bukrs = itab3-bukrs.
    ENDAT.

    AT END OF matnr.
      SUM.
      itab6-matnr = itab3-matnr.
             itab6-lfimg = itab3-lfimg.
*             52 itab3-exbed color 3.
** R004
              itab6-totexcamt =  itab3-totexcamt.
** end R004
    ENDAT.

    append itab6.
  ENDLOOP.
  delete itab6 where matnr = ''.
delete adjacent duplicates from itab6.

  LOOP AT itab4.
    AT END OF matnr.
      SUM.
     itab7-matnr =  itab4-matnr .
            itab7-lfimg = itab4-lfimg .
*             52 itab4-exbed color 3.
**R004
             itab7-totexcamt = itab4-totexcamt .
**end R004
    collect itab7.

    ENDAT.
  ENDLOOP.
delete adjacent duplicates from itab7.
delete adjacent duplicates from itab6.

perform sort_list.
perform modify_fieldcat.
PERFORM EVENT_LIST.
*PERFORM BLOCK_LIST.

perform display_alv.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_CANCEL_DOC
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM get_cancel_doc.

  IF itab2-status = 'R'.
    SELECT SINGLE * FROM j_1iexchdr
    WHERE
      rdoc EQ bill
      AND exnum NE space AND status EQ 'C'.
    IF sy-subrc EQ 0.
      MOVE-CORRESPONDING j_1iexchdr TO itab2.
    ENDIF.
  ENDIF.


ENDFORM.                               " GET_CANCEL_DOC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_KUNAG_NAME
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM get_kunag_name.

  CLEAR itab2-kname1.
  SELECT SINGLE name1 INTO itab2-kname1
    FROM kna1
    WHERE kunnr = itab1-kunag
*-- +R009 --*
%_HINTS ORACLE 'INDEX("KNA1" "KNA1~0")'.

*-- +R009 --*

  .

ENDFORM.                    " GET_KUNAG_NAME
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_alv
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display_alv .

CLEAR WA_LAYOUT.
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.




CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
  EXPORTING
    I_CALLBACK_PROGRAM             = sy-repid
       I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
*            I_CALLBACK_PF_STATUS_SET = PFSTATUS.
          .

*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*    EXPORTING
*      I_PROGRAM_NAME     = SY-REPID
*      I_INTERNAL_TABNAME = 'ITAB2'
*      I_INCLNAME         = SY-REPID
*    CHANGING
*      CT_FIELDCAT        = ALVFC.
DATA:  IT_SORT TYPE  SLIS_T_SORTINFO_ALV, "&amp;lt;b&amp;gt;
        X_SORT TYPE SLIS_SORTINFO_ALV.
     X_SORT-FIELDNAME = 'MATNR'.
     X_SORT-TABNAME = 'ITAB2'.
     X_SORT-UP = 'X'.
     X_SORT-SUBTOT = 'X'.
     APPEND X_SORT TO IT_SORT. "&amp;lt;/b&amp;gt;


CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                  = WA_LAYOUT
      it_fieldcat                = it_fieldcat1
      i_tabname                  = 'ITAB2'
       IT_SORT                     = IT_SORT
      it_events                  = GT_XEVENTS

      IT_SAVE                     = 'A'



    TABLES
      t_outtab                   = ITAB2
    EXCEPTIONS
      program_error              = 1
      maximum_of_appends_reached = 2
      OTHERS                     = 3.

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                  = WA_LAYOUT
      it_fieldcat                = it_fieldcat2
      i_tabname                  = 'ITAB6'
      it_events                  = GT_YEVENTS
*            IT_SORT                          = IT_SORT

      IT_SAVE                     = 'A'


    TABLES
      t_outtab                   = itab6
    EXCEPTIONS
      program_error              = 1
      maximum_of_appends_reached = 2
      OTHERS                     = 3.



*------------------- ADD INTERNAL TABLE PTAB

*  REFRESH ALVFC[].
*
*  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*    EXPORTING
*      I_PROGRAM_NAME     = SY-REPID
*      I_INTERNAL_TABNAME = 'ITAB6'
*      I_INCLNAME         = SY-REPID
*    CHANGING
*      CT_FIELDCAT        = ALVFC.


*------------------- ADD INTERNAL TABLE PTAB

*  REFRESH ALVFC[].
*

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                  = WA_LAYOUT
      it_fieldcat                = IT_FIELDCAT3
      i_tabname                  = 'ITAB7'
      it_events                  = GT_ZEVENTS
*     IT_SORT                     = IT_SORT

      IT_SAVE                     = 'X'
    TABLES
      t_outtab                   = itab7
    EXCEPTIONS
      program_error              = 1
      maximum_of_appends_reached = 2
      OTHERS                     = 3.


*--------------- DISPLAY

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    EXCEPTIONS
      program_error = 1
      OTHERS        = 2.


ENDFORM.                    " display_alv
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  sort_list
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM sort_list .

*  CLEAR WA_SORT.
*  WA_SORT-FIELDNAME = 'MATNR'.
*  WA_SORT-SUBTOT = 'X'.
*  WA_SORT-SPOS      = 1.
*    APPEND WA_SORT TO IT_SORT.

ENDFORM.                    " sort_list
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  modify_fieldcat
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_fieldcat .
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-key = 'X'.
wa_fieldcat-seltext_l = 'MATERIAL'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.


wa_fieldcat-fieldname = 'SLNO'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'Sr No'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'WADAT_IST'.
wa_fieldcat-tabname = 'IATB2'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'G.I.DATE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'PREPRN'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '4'.
wa_fieldcat-seltext_l = 'ICDN/DC NO.'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '5'.
wa_fieldcat-seltext_l = 'dELIVERY NO.'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'AUART'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '6'.
wa_fieldcat-seltext_l = 'ORDER TYPE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

*wa_fieldcat-fieldname = 'MATNR'.
*wa_fieldcat-tabname = 'ITAB2'.
*wa_fieldcat-col_pos = '6'.
*wa_fieldcat-seltext_l = 'MATERIAL'.
*wa_fieldcat-emphasize = 'X'.
*append wa_fieldcat to it_fieldcat1.
*clear wa_fieldcat.

wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '7'.
wa_fieldcat-seltext_l = 'QUANTITY'.
wa_fieldcat-DO_SUM = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'RNEW'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '8'.
wa_fieldcat-seltext_l = 'CUSTOMER'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'KUNNR'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '9'.
wa_fieldcat-seltext_l = 'DESTINATION'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'EXNUM'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '10'.
wa_fieldcat-seltext_l = 'EXCISE NO'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'EXDAT'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '11'.
wa_fieldcat-seltext_l = 'EXCISE DATE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TOTEXCAMT'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '12'.
wa_fieldcat-seltext_l = 'EXCISE AMOUNT'.
wa_fieldcat-DO_SUM = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'STATUS'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '13'.
wa_fieldcat-seltext_l = 'EXCISE STATUS'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TDLNR'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '14'.
wa_fieldcat-seltext_l = 'TRANSPORTER'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'EXTI1'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '15'.
wa_fieldcat-seltext_l = 'TRUCK NO'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'OWNCAT'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '16'.
wa_fieldcat-seltext_l = 'TRUCK CATEGORY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'CAPITN'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '17'.
wa_fieldcat-seltext_l = 'TRUCK TYPE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '18'.
wa_fieldcat-seltext_l = 'PLANT'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'KNAME1'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '19'.
wa_fieldcat-seltext_l = 'SOLD TO PARTY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'VTWEG'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '20'.
wa_fieldcat-seltext_l = 'DISTRIBUTION CHANNEL'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'KZWI6'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '21'.
wa_fieldcat-seltext_l = 'INVOICE VALUE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'BUKRS'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-seltext_l = 'COMPANY CODE'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'MATERIAL'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'QUANTITY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TOTEXCAMT'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '4'.
wa_fieldcat-seltext_l = 'EXCISE VALUE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'ITAB7'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-seltext_l = 'MATERIAL'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat3.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-tabname = 'ITAB7'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'QUANTITY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat3.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TOTEXCAMT'.
wa_fieldcat-tabname = 'ITAB7'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'EXCISE VALUE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat3.
clear wa_fieldcat.

ENDFORM.                    " modify_fieldcat
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  EVENT_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM EVENT_LIST .

CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  XS_EVENT-FORM = 'XTOP_OF_PAGE'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
  XS_EVENT-FORM = 'XEND_OF_PAGE'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  XS_EVENT-FORM = 'XTOP_OF_LIST'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
  XS_EVENT-FORM = 'XEND_OF_LIST'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
  XS_EVENT-FORM = 'YEND_OF_PAGE'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  XS_EVENT-FORM = 'YTOP_OF_PAGE'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  XS_EVENT-FORM = 'YTOP_OF_LIST'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
  XS_EVENT-FORM = 'YEND_OF_LIST'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
  XS_EVENT-FORM = 'ZEND_OF_PAGE'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  XS_EVENT-FORM = 'ZTOP_OF_PAGE'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  XS_EVENT-FORM = 'ZTOP_OF_LIST'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
  XS_EVENT-FORM = 'ZEND_OF_LIST'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.


ENDFORM.                    " EVENT_LIST

FORM XTOP_OF_PAGE.
WRITE:/15(30) 'ICDN / DC wise Dispatch Report For The Period' COLOR 3,
             47 DATE-LOW , 58 'TO', 62 DATE-HIGH.

ENDFORM.

FORM YTOP_OF_PAGE.
WRITE:/ 'TOTAL BY COMPANY CODE' COLOR 3.
ENDFORM.

FORM ZTOP_OF_PAGE.
WRITE:/ 'TOTAL BY MATERIAL' COLOR 3.
ENDFORM.

FORM XEND_OF_PAGE.
*WRITE:/ 'END OF PAGE FOR MARA'.
ENDFORM.

FORM YEND_OF_PAGE.
*WRITE:/ 'END OF PAGE FOR MAKT'.
ENDFORM.

FORM ZEND_OF_PAGE.
*WRITE:/ 'END OF PAGE FOR MARC'.
ENDFORM.

FORM XTOP_OF_LIST.
WRITE:/40(30) 'ULTRATECH CEMENT LTD.' COLOR 6 INTENSIFIED OFF.
SKIP 1.
ENDFORM.

FORM YTOP_OF_LIST.
*WRITE:/ 'TOP OF LIST FOR MAKT'.
ENDFORM.

FORM ZTOP_OF_LIST.
*WRITE:/ 'TOP OF LIST FOR MARC'.
ENDFORM.

FORM XEND_OF_LIST.
*WRITE:/ 'END OF LIST FOR MARA'.
ENDFORM.

FORM YEND_OF_LIST.
*WRITE:/ 'END OF LIST FOR MAKT'.
ENDFORM.

FORM ZEND_OF_LIST.
*WRITE:/ 'END OF LIST FOR MARC'.


ENDFORM.                    " EVENT_LIST&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Abhaykumar Chauhan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 07:15:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429714#M205585</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T07:15:31Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429715#M205586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;DATA: wa_fcat5 TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA: fcat5 TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat5-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat5 TO fcat5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;like that u can do sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;daclare itab_sort type SLIS_SORTINFO_ALV&lt;/P&gt;&lt;P&gt;pass to parameter IT_SORT in 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and assign valus for below fields as ur req. mets.&lt;/P&gt;&lt;P&gt;       &lt;/P&gt;&lt;P&gt;SPOS                           NUMC            2&lt;/P&gt;&lt;P&gt;FIELDNAME                      CHARACTER       30&lt;/P&gt;&lt;P&gt;TABNAME                        CHARACTER       30&lt;/P&gt;&lt;P&gt;UP                             CHARACTER       1&lt;/P&gt;&lt;P&gt;DOWN                           CHARACTER       1&lt;/P&gt;&lt;P&gt;GROUP                          CHARACTER       2&lt;/P&gt;&lt;P&gt;SUBTOT                         CHARACTER       1&lt;/P&gt;&lt;P&gt;COMP                           CHARACTER       1&lt;/P&gt;&lt;P&gt;EXPA                           CHARACTER       1&lt;/P&gt;&lt;P&gt;OBLIGATORY                     CHARACTER       1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ramesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 07:47:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429715#M205586</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T07:47:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429716#M205587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have done do_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U can see my code and plss tell where I went wrong?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 08:33:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429716#M205587</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T08:33:48Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429717#M205588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Abhaykumar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you want only subtotals rite,every thing is fine in your code, what problem you are facing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 09:16:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429717#M205588</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T09:16:05Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429718#M205589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I want subtotal on material only, but its not coming..Iwant to see the total of quantity of material.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 09:57:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429718#M205589</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T09:57:07Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429719#M205590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;since your program has custom tables,i m not able to test. but see my sample code to cross check what went wrong.are you able to see atleast in that program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 10:09:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429719#M205590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T10:09:03Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429720#M205591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;IF you will delete the custom tables and the corresponding codes...u can work...custom tables dnt have much effect on report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me I tried to find out the diffrence but i couldnt...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 10:40:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429720#M205591</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T10:40:14Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429721#M205592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ok can you remove the code comments to your code in the above post, i am unable to copy it.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
code

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;remove these , then i can copy it easily.&lt;/P&gt;&lt;P&gt;and i will get back to you after checking it.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jul 2006 10:48:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429721#M205592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-12T10:48:02Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429722#M205593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am posting the code again without the custom tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please have alook at this and help me...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zcmsr047 MESSAGE-ID zz&lt;/P&gt;&lt;P&gt;NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;LINE-SIZE 350.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: likp,&lt;/P&gt;&lt;P&gt;        lips,&lt;/P&gt;&lt;P&gt;        vbak,&lt;/P&gt;&lt;P&gt;        vbpa,&lt;/P&gt;&lt;P&gt;        vbuk,&lt;/P&gt;&lt;P&gt;        vbrk,&lt;/P&gt;&lt;P&gt;        vbrp,&lt;/P&gt;&lt;P&gt;        vttk,&lt;/P&gt;&lt;P&gt;        vttp,&lt;/P&gt;&lt;P&gt;        vbfa,&lt;/P&gt;&lt;P&gt;        stxh,                          "pmp 13.01.01&lt;/P&gt;&lt;P&gt;        t001k,                         "pmp 13.01.01&lt;/P&gt;&lt;P&gt;        j_1iexchdr,&lt;/P&gt;&lt;P&gt;        j_1iexcdtl,&lt;/P&gt;&lt;P&gt;        adrc,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ZTRMT,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        kna1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       &amp;lt;zraildet.                                     "AA 100501&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,  "mara&lt;/P&gt;&lt;P&gt;       WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,  "makt&lt;/P&gt;&lt;P&gt;       WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV,  "marc&lt;/P&gt;&lt;P&gt;       WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT3 TYPE SLIS_T_FIELDCAT_ALV,  "marc&lt;/P&gt;&lt;P&gt;       WA_FIELDCAT3 TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GT_PRINT TYPE SLIS_PRINT_ALV,&lt;/P&gt;&lt;P&gt;      WA_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      XS_EVENT  TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;      GT_XEVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      GT_YEVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      GT_ZEVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;      WA_SORT TYPE SLIS_SORTINFO_ALV,&lt;/P&gt;&lt;P&gt;      IT_SORT TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;*PARAMETERS : a TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ship_doc LIKE vttk-tknum,&lt;/P&gt;&lt;P&gt;      bill     LIKE vbrp-vbeln,&lt;/P&gt;&lt;P&gt;      c_vbeln  LIKE likp-vbeln,&lt;/P&gt;&lt;P&gt;      s_vbeln  LIKE vbfa-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab1 OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE likp-vbeln,&lt;/P&gt;&lt;P&gt;       wadat_ist LIKE likp-wadat_ist,&lt;/P&gt;&lt;P&gt;       erdat    LIKE likp-erdat,&lt;/P&gt;&lt;P&gt;       kunag LIKE likp-kunag,&lt;/P&gt;&lt;P&gt;       lfart LIKE likp-lfart,&lt;/P&gt;&lt;P&gt;       kunnr LIKE likp-kunnr,&lt;/P&gt;&lt;P&gt;       werks LIKE likp-werks,&lt;/P&gt;&lt;P&gt;       vstel LIKE likp-vstel,&lt;/P&gt;&lt;P&gt;       bolnr LIKE likp-bolnr, "Added by AA 27/04/01.&lt;/P&gt;&lt;P&gt;       exti1 LIKE vttk-exti1,&lt;/P&gt;&lt;P&gt;       tdlnr LIKE vttk-tdlnr,&lt;/P&gt;&lt;P&gt;       vtweg LIKE vbak-vtweg,                               "AA 100501.&lt;/P&gt;&lt;P&gt;       vgbel LIKE lips-vgbel,                               "AA 100501&lt;/P&gt;&lt;P&gt;       kzwi6 LIKE vbrp-kzwi6.                             " R002 added&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      OWNCAT LIKE .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vbfa1 OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbfa-vbeln,&lt;/P&gt;&lt;P&gt;       vbelv LIKE vbfa-vbeln,&lt;/P&gt;&lt;P&gt;       END OF it_vbfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vbfa2 OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbfa-vbeln,&lt;/P&gt;&lt;P&gt;       vbelv LIKE vbfa-vbeln,&lt;/P&gt;&lt;P&gt;       posnv LIKE vbfa-posnv,&lt;/P&gt;&lt;P&gt;       END OF it_vbfa2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vbrp OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbrp-vbeln,&lt;/P&gt;&lt;P&gt;       kzwi6 LIKE vbrp-kzwi6,&lt;/P&gt;&lt;P&gt;       posnr LIKE vbrp-posnr,&lt;/P&gt;&lt;P&gt;       END OF it_vbrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vbak OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbfa-vbeln,&lt;/P&gt;&lt;P&gt;       vtweg LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;       auart LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;       END OF it_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vttp OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vttp-vbeln,&lt;/P&gt;&lt;P&gt;       tknum LIKE vttp-tknum,&lt;/P&gt;&lt;P&gt;       END OF it_vttp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vttk OCCURS 0,&lt;/P&gt;&lt;P&gt;       tknum LIKE vttk-tknum,&lt;/P&gt;&lt;P&gt;       exti1 LIKE vttk-exti1,&lt;/P&gt;&lt;P&gt;       tdlnr LIKE vttk-tdlnr,&lt;/P&gt;&lt;P&gt;       END OF it_vttk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_vbuk OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE vbuk-vbeln,&lt;/P&gt;&lt;P&gt;       wbstk LIKE vbuk-wbstk,&lt;/P&gt;&lt;P&gt;       END OF it_vbuk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA : BEGIN OF it_zrail OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      zzdelivery LIKE zraildet-zzdelivery,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      zzwagon LIKE zraildet-zzwagon,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      END OF it_zrail.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab2 OCCURS 0,&lt;/P&gt;&lt;P&gt;       vbeln LIKE likp-vbeln,&lt;/P&gt;&lt;P&gt;       wadat_ist LIKE likp-wadat_ist,&lt;/P&gt;&lt;P&gt;       erdat    LIKE likp-erdat,&lt;/P&gt;&lt;P&gt;       lfart LIKE likp-lfart,&lt;/P&gt;&lt;P&gt;       kunag LIKE likp-kunag,&lt;/P&gt;&lt;P&gt;       kunnr LIKE likp-kunnr,&lt;/P&gt;&lt;P&gt;       r_plant LIKE likp-werks,&lt;/P&gt;&lt;P&gt;       vstel LIKE likp-vstel,&lt;/P&gt;&lt;P&gt;       vkgrp LIKE lips-vkgrp,&lt;/P&gt;&lt;P&gt;       auart LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;       matnr LIKE lips-matnr,&lt;/P&gt;&lt;P&gt;       lfimg LIKE lips-lfimg,&lt;/P&gt;&lt;P&gt;       werks LIKE lips-werks,&lt;/P&gt;&lt;P&gt;       name1 LIKE adrc-name1,&lt;/P&gt;&lt;P&gt;       city1 LIKE adrc-city1,&lt;/P&gt;&lt;P&gt;       preprn LIKE j_1iexchdr-preprn,&lt;/P&gt;&lt;P&gt;       vgbel LIKE lips-vgbel,          " Order No. SC&lt;/P&gt;&lt;P&gt;       exti1  LIKE vttk-exti1,         "Truck Number&lt;/P&gt;&lt;P&gt;       exti2  LIKE vttk-exti2,         "LR Number&lt;/P&gt;&lt;P&gt;       tdlnr  LIKE vttk-tdlnr,         "Transporter&lt;/P&gt;&lt;P&gt;       exbed  LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       ecs LIKE  j_1iexchdr-ecs,&lt;/P&gt;&lt;P&gt;       totexcamt LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       exnum  LIKE j_1iexchdr-exnum,&lt;/P&gt;&lt;P&gt;       exdat  LIKE j_1iexchdr-exdat,&lt;/P&gt;&lt;P&gt;       status LIKE j_1iexchdr-status,&lt;/P&gt;&lt;P&gt;       sales_ord LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;       wpreprn(10),                                         "pmp 020401&lt;/P&gt;&lt;P&gt;       kname1 LIKE kna1-name1,                              "AA 100501.&lt;/P&gt;&lt;P&gt;       vtweg  LIKE vbak-vtweg,                              "AA 100501&lt;/P&gt;&lt;P&gt;       kzwi6 LIKE vbrp-kzwi6,                            " R002 added&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="5" type="ul"&gt;&lt;P&gt;CHANGE ON 07-07-06&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      OWNCAT LIKE ZTRMT-OWNCAT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CAPITN LIKE ZTRMT-CAPITN,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       slno type i,&lt;/P&gt;&lt;P&gt;       rnew(18),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF itab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data:begin of it_ztrmt occurs 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     truckno like ztrmt-truckno,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OWNCAT LIKE ZTRMT-OWNCAT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CAPITN LIKE ZTRMT-CAPITN,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      end of it_ztrmt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab3 OCCURS 0,&lt;/P&gt;&lt;P&gt;      bukrs LIKE t001k-bukrs,          "pmp 13.01.01&lt;/P&gt;&lt;P&gt;      matnr LIKE lips-matnr,&lt;/P&gt;&lt;P&gt;      werks LIKE lips-werks,           "pmp 13.01.01&lt;/P&gt;&lt;P&gt;      lfimg LIKE lips-lfimg,&lt;/P&gt;&lt;P&gt;      exbed LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       totexcamt LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;P&gt;       ecs LIKE  j_1iexchdr-ecs.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DATA : END OF itab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab4 OCCURS 0,         "pmp 13.01.01&lt;/P&gt;&lt;P&gt;      matnr LIKE lips-matnr,&lt;/P&gt;&lt;P&gt;      lfimg LIKE lips-lfimg,&lt;/P&gt;&lt;P&gt;      exbed LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       totexcamt LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;P&gt;       ecs LIKE  j_1iexchdr-ecs.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DATA: END OF itab4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab7 OCCURS 0,         "pmp 13.01.01&lt;/P&gt;&lt;P&gt;      matnr LIKE lips-matnr,&lt;/P&gt;&lt;P&gt;      lfimg LIKE lips-lfimg,&lt;/P&gt;&lt;P&gt;      exbed LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       totexcamt LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;P&gt;       ecs LIKE  j_1iexchdr-ecs.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DATA: END OF itab7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab5 OCCURS 0,&lt;/P&gt;&lt;P&gt;       kunnr LIKE kna1-kunnr,&lt;/P&gt;&lt;P&gt;       name1 LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;       END OF itab5.                                        " +R007&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wtline LIKE tline OCCURS 0 WITH HEADER LINE. "PMP 13.01.01&lt;/P&gt;&lt;P&gt;DATA: wname LIKE thead-tdname.         "PMP 13.01.01&lt;/P&gt;&lt;P&gt;DATA  slno TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="4" type="ul"&gt;&lt;P&gt;change/002 by rs on 08.10.2002&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF iexcdtl OCCURS 0,&lt;/P&gt;&lt;P&gt;      docno LIKE j_1iexcdtl-docno,&lt;/P&gt;&lt;P&gt;      docno1 LIKE j_1iexcdtl-docno,&lt;/P&gt;&lt;P&gt;      rdoc1 LIKE j_1iexcdtl-rdoc1,&lt;/P&gt;&lt;P&gt;      exnum LIKE j_1iexcdtl-exnum,&lt;/P&gt;&lt;P&gt;      exnum1 LIKE j_1iexcdtl-exnum,&lt;/P&gt;&lt;P&gt;      werks LIKE j_1iexcdtl-werks,&lt;/P&gt;&lt;P&gt;      docyr LIKE j_1iexcdtl-docyr,&lt;/P&gt;&lt;P&gt;      END OF iexcdtl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF iexchdr OCCURS 0,&lt;/P&gt;&lt;P&gt;      bukrs  LIKE j_1iexchdr-bukrs,&lt;/P&gt;&lt;P&gt;      werks  LIKE j_1iexchdr-werks,   " VBK 090402&lt;/P&gt;&lt;P&gt;      docyr  LIKE j_1iexchdr-docyr,&lt;/P&gt;&lt;P&gt;      preprn LIKE j_1iexchdr-preprn,&lt;/P&gt;&lt;P&gt;      exnum  LIKE j_1iexchdr-exnum,&lt;/P&gt;&lt;P&gt;      exdat  LIKE j_1iexchdr-exdat,&lt;/P&gt;&lt;P&gt;      status LIKE j_1iexchdr-status,&lt;/P&gt;&lt;P&gt;      exbed  LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;P&gt;       totexcamt LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;P&gt;       ecs LIKE  j_1iexchdr-ecs,&lt;/P&gt;&lt;P&gt;      END OF iexchdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  n TYPE i.&lt;/P&gt;&lt;P&gt;DATA : w_kzwi6 LIKE vbrp-kzwi6.&lt;/P&gt;&lt;P&gt;" R002 added&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;DATA v_diff TYPE i.&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab6 OCCURS 0,&lt;/P&gt;&lt;P&gt;      bukrs LIKE t001k-bukrs,          "pmp 13.01.01&lt;/P&gt;&lt;P&gt;      matnr LIKE lips-matnr,&lt;/P&gt;&lt;P&gt;      werks LIKE lips-werks,           "pmp 13.01.01&lt;/P&gt;&lt;P&gt;      lfimg LIKE lips-lfimg,&lt;/P&gt;&lt;P&gt;      exbed LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;       totexcamt LIKE j_1iexchdr-exbed,&lt;/P&gt;&lt;P&gt;       ecs LIKE  j_1iexchdr-ecs.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;DATA : END OF itab6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK abc WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;        vstel FOR   likp-vstel OBLIGATORY, " NO INTERVALS ,&lt;/P&gt;&lt;P&gt;        date  FOR   likp-wadat_ist OBLIGATORY,&lt;/P&gt;&lt;P&gt;        erdat FOR   likp-erdat,&lt;/P&gt;&lt;P&gt;        kunag FOR   likp-kunag NO INTERVALS,&lt;/P&gt;&lt;P&gt;        smatnr FOR lips-matnr,&lt;/P&gt;&lt;P&gt;        werks FOR   likp-werks NO INTERVALS NO-EXTENSION,&lt;/P&gt;&lt;P&gt;        pvtweg FOR  lips-vtweg .&lt;/P&gt;&lt;P&gt;PARAMETERS: PFSTATUS TYPE SLIS_FORMNAME DEFAULT 'PF_STATUS_SET'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK abc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: ptdlnr FOR vttk-tdlnr NO INTERVALS,&lt;/P&gt;&lt;P&gt;            pexti1 FOR vttk-exti1 NO INTERVALS,&lt;/P&gt;&lt;P&gt;            pkunnr FOR likp-kunnr NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-003.&lt;/P&gt;&lt;P&gt;PARAMETERS : sorticdn  RADIOBUTTON GROUP b1 DEFAULT 'X',&lt;/P&gt;&lt;P&gt;             sortdelv  RADIOBUTTON GROUP b1,&lt;/P&gt;&lt;P&gt;             sortstat  RADIOBUTTON GROUP b1,&lt;/P&gt;&lt;P&gt;             sortamt   RADIOBUTTON GROUP b1,&lt;/P&gt;&lt;P&gt;             sortdest  RADIOBUTTON GROUP b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK c.&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vstel CA '*'.&lt;/P&gt;&lt;P&gt;    MESSAGE e034 WITH 'Give specific value!!'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_diff =  date-high - date-low .&lt;/P&gt;&lt;P&gt;  IF v_diff GT 31.&lt;/P&gt;&lt;P&gt;    MESSAGE e034 WITH 'Kindly Run This Report For 31 days or less!!'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      percentage = 100&lt;/P&gt;&lt;P&gt;      text       = 'Wait, Your Job Is Under Progress!!!'.&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;***----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------" /&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : it_vbfa1, it_vbfa1[],&lt;/P&gt;&lt;P&gt;          it_vbak,  it_vbak[],&lt;/P&gt;&lt;P&gt;          it_vbfa2, it_vbfa2[],&lt;/P&gt;&lt;P&gt;          it_vbrp,  it_vbrp[],&lt;/P&gt;&lt;P&gt;          it_vttp,  it_vttp[],&lt;/P&gt;&lt;P&gt;          it_vttk,  it_vttk[],&lt;/P&gt;&lt;P&gt;          it_vbuk,  it_vbuk[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         it_zrail, it_zrail[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- Initial population of data from LIKP --**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Population of ITAB1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT kunag IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT pkunnr IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT werks IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT erdat IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr&lt;/P&gt;&lt;P&gt;    INTO TABLE itab1 FROM likp&lt;/P&gt;&lt;P&gt;           WHERE     wadat_ist IN date&lt;/P&gt;&lt;P&gt;           AND       vstel     IN vstel&lt;/P&gt;&lt;P&gt;           AND       kunnr     IN pkunnr&lt;/P&gt;&lt;P&gt;           AND       werks     IN werks&lt;/P&gt;&lt;P&gt;           AND       erdat     IN erdat&lt;/P&gt;&lt;P&gt;           AND       kunag     IN kunag&lt;/P&gt;&lt;P&gt;     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF&lt;/P&gt;&lt;P&gt;       kunag IS INITIAL AND&lt;/P&gt;&lt;P&gt;       pkunnr IS INITIAL AND&lt;/P&gt;&lt;P&gt;       werks IS INITIAL AND&lt;/P&gt;&lt;P&gt;       erdat IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr&lt;/P&gt;&lt;P&gt;    INTO TABLE itab1 FROM likp&lt;/P&gt;&lt;P&gt;           WHERE&lt;/P&gt;&lt;P&gt;           vstel IN vstel&lt;/P&gt;&lt;P&gt;           AND wadat_ist IN date&lt;/P&gt;&lt;P&gt;     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z4")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF&lt;/P&gt;&lt;P&gt;      kunag IS INITIAL AND&lt;/P&gt;&lt;P&gt;      erdat IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr&lt;/P&gt;&lt;P&gt;    INTO TABLE itab1 FROM likp&lt;/P&gt;&lt;P&gt;           WHERE     wadat_ist IN date&lt;/P&gt;&lt;P&gt;           AND       vstel     IN vstel&lt;/P&gt;&lt;P&gt;           AND       kunnr     IN pkunnr&lt;/P&gt;&lt;P&gt;           AND       werks     IN werks&lt;/P&gt;&lt;P&gt;     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr&lt;/P&gt;&lt;P&gt;    INTO TABLE itab1 FROM likp&lt;/P&gt;&lt;P&gt;         WHERE     wadat_ist IN date&lt;/P&gt;&lt;P&gt;         AND       vstel     IN vstel&lt;/P&gt;&lt;P&gt;         AND       kunnr     IN pkunnr&lt;/P&gt;&lt;P&gt;         AND       werks     IN werks&lt;/P&gt;&lt;P&gt;         AND       erdat     IN erdat&lt;/P&gt;&lt;P&gt;         AND       kunag     IN kunag&lt;/P&gt;&lt;P&gt;     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;- very important condition was missing -&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;  IF itab1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e034 WITH 'No suitable records found!!'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;PDS_OPT&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;P&gt;**-- Fetching data from VBFA --*&lt;/P&gt;&lt;P&gt;*-- Distribution Channel --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  break abap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln vbelv FROM vbfa INTO TABLE it_vbfa1          "OK Z11&lt;/P&gt;&lt;P&gt;  FOR ALL  ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;  WHERE&lt;/P&gt;&lt;P&gt;  vbeln EQ itab1-vbeln AND&lt;/P&gt;&lt;P&gt;  vbtyp_n EQ 'J' AND&lt;/P&gt;&lt;P&gt;  vbtyp_v EQ 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_vbfa1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;**-- Fetching data from VBAK --*&lt;/P&gt;&lt;P&gt;    SELECT vbeln vtweg FROM vbak INTO TABLE it_vbak&lt;/P&gt;&lt;P&gt;   FOR ALL ENTRIES IN it_vbfa1&lt;/P&gt;&lt;P&gt;   WHERE&lt;/P&gt;&lt;P&gt;   vbeln EQ it_vbfa1-vbelv&lt;/P&gt;&lt;P&gt;   AND&lt;/P&gt;&lt;P&gt;   vtweg IN pvtweg.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- if shipping point eq ÁCW --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- Fetching data from VBFA --*&lt;/P&gt;&lt;P&gt;*--  Subtotal 6 from pricing procedure KZWI6 --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vstel-low EQ 'ACW'.&lt;/P&gt;&lt;P&gt;    SELECT vbeln vbelv posnv FROM vbfa INTO TABLE it_vbfa2  "OK Z3&lt;/P&gt;&lt;P&gt;       FOR ALL  ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;       WHERE&lt;/P&gt;&lt;P&gt;       vbelv EQ itab1-vbeln AND&lt;/P&gt;&lt;P&gt;       vbtyp_n EQ 'M' AND&lt;/P&gt;&lt;P&gt;       vbtyp_v EQ 'J'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_vbfa2[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT vbeln kzwi6 posnr FROM vbrp INTO TABLE it_vbrp "OK Z1&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN it_vbfa2&lt;/P&gt;&lt;P&gt;      WHERE&lt;/P&gt;&lt;P&gt;      vbeln EQ it_vbfa2-vbeln&lt;/P&gt;&lt;P&gt;      %_HINTS ORACLE 'index("VBRP" "VBRP~Z1")'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*-- if shipping point ne ÁCW --*&lt;/P&gt;&lt;P&gt;    SELECT vbeln vbelv posnv FROM vbfa INTO TABLE it_vbfa2  "OK Z3&lt;/P&gt;&lt;P&gt;          FOR ALL  ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;          WHERE&lt;/P&gt;&lt;P&gt;          vbelv EQ itab1-vbeln AND&lt;/P&gt;&lt;P&gt;          vbtyp_n EQ 'U' AND&lt;/P&gt;&lt;P&gt;          vbtyp_v EQ 'J'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_vbfa2[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT vbeln kzwi6 posnr FROM vbrp INTO TABLE it_vbrp "OK Z1&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN it_vbfa2&lt;/P&gt;&lt;P&gt;      WHERE&lt;/P&gt;&lt;P&gt;      vbeln EQ it_vbfa2-vbeln&lt;/P&gt;&lt;P&gt;            %_HINTS ORACLE 'index("VBRP" "VBRP~Z1")'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- External ID --*&lt;/P&gt;&lt;P&gt;*-- no. of forwarding agent --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- Fetching data from VTTP --*&lt;/P&gt;&lt;P&gt;  SELECT vbeln tknum FROM vttp INTO TABLE it_vttp  "OK VBL&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;  WHERE&lt;/P&gt;&lt;P&gt;  vbeln EQ itab1-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-dbcnt NE 0.&lt;/P&gt;&lt;P&gt;**-- Fetching data from VTTK --*&lt;/P&gt;&lt;P&gt;*- 16/05/2006 -*&lt;/P&gt;&lt;P&gt;    SELECT tknum exti1 tdlnr FROM vttk INTO TABLE it_vttk "OK PRIMARY&lt;/P&gt;&lt;P&gt;    FOR ALL ENTRIES IN it_vttp&lt;/P&gt;&lt;P&gt;    WHERE&lt;/P&gt;&lt;P&gt;    tknum EQ it_vttp-tknum&lt;/P&gt;&lt;P&gt;    AND&lt;/P&gt;&lt;P&gt;    tdlnr IN ptdlnr AND&lt;/P&gt;&lt;P&gt;    exti1 IN pexti1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************CHANGE ON 07-07-06&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT * FROM ZTRMT INTO corresponding fields of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        TABLE  IT_ztrmt .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- Fetching data from VBUK --*&lt;/P&gt;&lt;P&gt;*-- Total goods movement status --*&lt;/P&gt;&lt;P&gt;  SELECT vbeln wbstk FROM vbuk INTO TABLE it_vbuk           "OK Z1&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;  WHERE&lt;/P&gt;&lt;P&gt;  vbeln EQ itab1-vbeln AND&lt;/P&gt;&lt;P&gt;  wbstk EQ 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- Moving required flds to ITAB1 --*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;- ITAB1 processing -&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;  SORT itab1 BY vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_vbfa1 BY vbeln.&lt;/P&gt;&lt;P&gt;  SORT it_vbak BY vbeln.&lt;/P&gt;&lt;P&gt;  SORT it_vttp BY vbeln.&lt;/P&gt;&lt;P&gt;  SORT it_vttk BY tknum.&lt;/P&gt;&lt;P&gt;  SORT it_vbuk BY vbeln.&lt;/P&gt;&lt;P&gt;  SORT PTDLNR BY LOW.&lt;/P&gt;&lt;P&gt;  SORT PEXTI1 BY LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;condition problem&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;moving VTWEG to itab1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_vbfa1 WITH KEY vbeln = itab1-vbeln BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_vbak WITH KEY vbeln = it_vbfa1-vbelv BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE it_vbak-vtweg TO itab1-vtweg.&lt;/P&gt;&lt;P&gt;        MODIFY itab1 TRANSPORTING vtweg.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;problem *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DELETE itab1.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;moving KZWI6 to itab1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT it_vbfa2 WHERE vbelv EQ itab1-vbeln.&lt;/P&gt;&lt;P&gt;      CLEAR w_kzwi6.                                        "20042006&lt;/P&gt;&lt;P&gt;      LOOP AT it_vbrp WHERE vbeln = it_vbfa2-vbeln.&lt;/P&gt;&lt;P&gt;        w_kzwi6 = w_kzwi6 + it_vbrp-kzwi6.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    MOVE w_kzwi6 TO itab1-kzwi6.&lt;/P&gt;&lt;P&gt;    MODIFY itab1 TRANSPORTING kzwi6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;moving EXTI1 TDLNR to itab1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE it_vttp WITH KEY vbeln = itab1-vbeln BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_vttk WITH KEY tknum = it_vttp-tknum BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************CHANGE ON 07-07-06.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE it_vttk-tdlnr TO itab1-tdlnr.&lt;/P&gt;&lt;P&gt;        MOVE it_vttk-exti1 TO itab1-exti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MODIFY itab1 TRANSPORTING tdlnr exti1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checking for goods movement status&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE it_vbuk WITH KEY vbeln = itab1-vbeln BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      DELETE itab1.&lt;/P&gt;&lt;P&gt;      CONTINUE.                                             "16052006&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ptdlnr NE space.                                     "16052006&lt;/P&gt;&lt;P&gt;      READ TABLE ptdlnr WITH KEY low = itab1-tdlnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        DELETE itab1.&lt;/P&gt;&lt;P&gt;        continue.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF  pexti1 NE space .                               "16052006&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.                    "-16052006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.                       "-16052006&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE pexti1 WITH KEY low = itab1-exti1 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          DELETE itab1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.                         "-16052006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.                       "-16052006&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.                         "-16052006&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;PDS_OPT&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;releasing memory occupied by these tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FREE : it_vbfa1,&lt;/P&gt;&lt;P&gt;         it_vbak,&lt;/P&gt;&lt;P&gt;         it_vbfa2,&lt;/P&gt;&lt;P&gt;         it_vbrp,&lt;/P&gt;&lt;P&gt;         it_vttp,&lt;/P&gt;&lt;P&gt;         it_vttk,&lt;/P&gt;&lt;P&gt;         it_vbuk.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        it_zrail.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- fetching from KNA1 --**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Population of ITAB5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- very important condition was missing -*&lt;/P&gt;&lt;P&gt;*- 24042006 -*&lt;/P&gt;&lt;P&gt;  IF itab1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE e034 WITH 'No suitable records found!!'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT kunnr name1  FROM kna1&lt;/P&gt;&lt;P&gt;          INTO TABLE  itab5&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;          WHERE kunnr = itab1-kunag&lt;/P&gt;&lt;P&gt;  %_HINTS ORACLE 'INDEX("KNA1" "KNA1~0")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM itab5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- fetching from LIPS --**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Population of ITAB2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln vkgrp matnr lfimg werks vgbel FROM lips&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE  itab2&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN itab1&lt;/P&gt;&lt;P&gt;          WHERE vbeln = itab1-vbeln&lt;/P&gt;&lt;P&gt;            AND pstyv NE 'ZREC'&lt;/P&gt;&lt;P&gt;            AND matnr IN smatnr&lt;/P&gt;&lt;P&gt;  %_HINTS ORACLE 'INDEX("LIPS" "LIPS~Z14")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***-- fetching from ZRAILDET --**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT zzdelivery zzwagon FROM zraildet INTO TABLE it_zrail"OK Z1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FOR ALL ENTRIES IN itab1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; zzdelivery = itab1-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- 20042006 --*&lt;/P&gt;&lt;P&gt;  SORT itab1 BY vbeln.&lt;/P&gt;&lt;P&gt;  SORT itab5 BY kunnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT  it_zrail BY zzdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- 20042006 --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab2.&lt;/P&gt;&lt;P&gt;    READ TABLE itab1 WITH KEY vbeln = itab2-vbeln BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE itab1-wadat_ist TO itab2-wadat_ist.&lt;/P&gt;&lt;P&gt;      MOVE itab1-erdat     TO itab2-erdat.&lt;/P&gt;&lt;P&gt;      MOVE itab1-kunag     TO itab2-kunag.&lt;/P&gt;&lt;P&gt;      MOVE itab1-lfart     TO itab2-lfart.&lt;/P&gt;&lt;P&gt;      MOVE itab1-kunnr     TO itab2-kunnr.&lt;/P&gt;&lt;P&gt;      MOVE itab1-vstel     TO itab2-vstel.&lt;/P&gt;&lt;P&gt;      MOVE itab1-werks     TO itab2-r_plant.&lt;/P&gt;&lt;P&gt;      MOVE itab1-vtweg     TO itab2-vtweg.&lt;/P&gt;&lt;P&gt;      MOVE itab1-kzwi6     TO itab2-kzwi6.&lt;/P&gt;&lt;P&gt;      MOVE itab1-tdlnr     TO itab2-tdlnr.&lt;/P&gt;&lt;P&gt;      MOVE itab1-exti1     TO itab2-exti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;*************************  change on 07-07-06&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF itab2-tdlnr IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       READ TABLE it_zrail WITH KEY zzdelivery = itab1-vbeln BINARY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SEARCH.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         itab2-tdlnr     = 'RAILWAY'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         itab2-exti1     = zraildet-zzwagon.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE IT_ZTRMT WITH KEY TRUCKNO = itab1-exti1 .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MOVE IT_ZTRMT-OWNCAT  TO ITAB2-OWNCAT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MOVE IT_ZTRMT-CAPITN  TO ITAB2-CAPITN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MODIFY itab2  TRANSPORTING OWNCAT CAPITN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          clear it_ztrmt.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE itab5 WITH KEY kunnr = itab1-kunag BINARY SEARCH&lt;/P&gt;&lt;P&gt;      TRANSPORTING name1 .&lt;/P&gt;&lt;P&gt;      MOVE itab5-name1 TO itab2-kname1.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY itab2 .&lt;/P&gt;&lt;P&gt;    CLEAR : itab1,itab2,itab5.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE itab2 LINES n .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF n = 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e034 WITH 'No records found for the selection'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  docno                                             "OK Z2&lt;/P&gt;&lt;P&gt;          rdoc1&lt;/P&gt;&lt;P&gt;          exnum&lt;/P&gt;&lt;P&gt;          docyr&lt;/P&gt;&lt;P&gt;          werks INTO CORRESPONDING&lt;/P&gt;&lt;P&gt;                FIELDS OF TABLE iexcdtl FROM j_1iexcdtl&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN itab2&lt;/P&gt;&lt;P&gt;                WHERE rdoc1  = itab2-vbeln AND&lt;/P&gt;&lt;P&gt;                trntyp = 'DLFC' AND&lt;/P&gt;&lt;P&gt;                werks  IN vstel AND&lt;/P&gt;&lt;P&gt;                status NE 'R'                               "+R007&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;     %_HINTS ORACLE 'INDEX("J_1IEXCDTL" "J_1IEXCDTL~Z2")'.  " +R009&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT iexcdtl[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT iexcdtl.&lt;/P&gt;&lt;P&gt;    UNPACK iexcdtl-docno TO iexcdtl-docno1.&lt;/P&gt;&lt;P&gt;    UNPACK iexcdtl-exnum TO iexcdtl-exnum1.&lt;/P&gt;&lt;P&gt;    MODIFY iexcdtl.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT iexcdtl[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT docyr                                            "OK Z05&lt;/P&gt;&lt;P&gt;           bukrs&lt;/P&gt;&lt;P&gt;           werks&lt;/P&gt;&lt;P&gt;           preprn&lt;/P&gt;&lt;P&gt;           exnum&lt;/P&gt;&lt;P&gt;           exdat&lt;/P&gt;&lt;P&gt;           status&lt;/P&gt;&lt;P&gt;           exbed&lt;/P&gt;&lt;P&gt;           ecs&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE iexchdr FROM&lt;/P&gt;&lt;P&gt;                 j_1iexchdr FOR ALL ENTRIES IN iexcdtl&lt;/P&gt;&lt;P&gt;                       WHERE&lt;/P&gt;&lt;P&gt;                       docno  = iexcdtl-docno1&lt;/P&gt;&lt;P&gt;                       AND trntyp = 'DLFC'&lt;/P&gt;&lt;P&gt;                       AND docyr =  iexcdtl-docyr&lt;/P&gt;&lt;P&gt;                       AND exnum  = iexcdtl-exnum1&lt;/P&gt;&lt;P&gt;                       AND werks  = iexcdtl-werks&lt;/P&gt;&lt;P&gt;                       AND status NE 'R'&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;     %_HINTS ORACLE 'INDEX("J_1IEXCHDR" "J_1IEXCHDR~Z05")'. " +R009&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA : BEGIN OF a_itab OCCURS 0,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          vbeln LIKE vbfa-vbelv,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        END OF a_itab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;done&lt;/STRONG&gt;&lt;/DEL&gt;-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln auart      "OK PRIMARY&lt;/P&gt;&lt;P&gt;     INTO CORRESPONDING FIELDS OF TABLE it_vbak&lt;/P&gt;&lt;P&gt;     FROM vbak&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN itab2&lt;/P&gt;&lt;P&gt;     WHERE&lt;/P&gt;&lt;P&gt;     vbeln EQ itab2-vgbel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT iexcdtl BY rdoc1.&lt;/P&gt;&lt;P&gt;  SORT iexchdr BY exnum werks.&lt;/P&gt;&lt;P&gt;  SORT it_vbak BY vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE iexcdtl WITH KEY rdoc1 = itab2-vbeln BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE iexchdr WITH KEY exnum = iexcdtl-exnum&lt;/P&gt;&lt;P&gt;                                  werks = itab2-werks&lt;/P&gt;&lt;P&gt;                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        itab2-preprn = iexchdr-preprn.&lt;/P&gt;&lt;P&gt;        itab2-exnum  = iexchdr-exnum.&lt;/P&gt;&lt;P&gt;        itab2-exdat  = iexchdr-exdat.&lt;/P&gt;&lt;P&gt;        itab2-status = iexchdr-status.&lt;/P&gt;&lt;P&gt;        itab2-exbed  = iexchdr-exbed.&lt;/P&gt;&lt;P&gt;        itab2-ecs  = iexchdr-ecs.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF itab2-preprn EQ space.&lt;/P&gt;&lt;P&gt;      MOVE itab2-vbeln TO wname.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM stxh CLIENT SPECIFIED&lt;/P&gt;&lt;P&gt;         WHERE mandt    = sy-mandt&lt;/P&gt;&lt;P&gt;           AND tdobject = 'VBBK'&lt;/P&gt;&lt;P&gt;           AND tdname   = wname&lt;/P&gt;&lt;P&gt;           AND tdid     = 'Z805'&lt;/P&gt;&lt;P&gt;           AND tdspras  = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            client   = sy-mandt&lt;/P&gt;&lt;P&gt;            id       = 'Z805'&lt;/P&gt;&lt;P&gt;            language = sy-langu&lt;/P&gt;&lt;P&gt;            name     = wname&lt;/P&gt;&lt;P&gt;            object   = 'VBBK'&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            lines    = wtline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE wtline INDEX 1.&lt;/P&gt;&lt;P&gt;        itab2-preprn = wtline-tdline+0(12) .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_vbak WITH KEY vbeln = itab2-vgbel BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;      MOVE it_vbak-auart TO itab2-auart.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: itab2-preprn TO itab2-wpreprn RIGHT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR itab2-totexcamt.&lt;/P&gt;&lt;P&gt;    itab2-totexcamt = itab2-exbed + itab2-ecs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'J_1I6_ROUND_TO_NEAREST_AMT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_amount        = itab2-totexcamt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_AMOUNT1       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_AMOUNT2       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_AMOUNT3       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_AMOUNT5       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;P&gt;       e_amount         = itab2-totexcamt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_AMOUNT1       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_AMOUNT2       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_AMOUNT3       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_AMOUNT5       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           .&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;End R005&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY itab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sortdelv EQ 'X'.&lt;/P&gt;&lt;P&gt;    SORT itab2 BY vbeln.&lt;/P&gt;&lt;P&gt;  ELSEIF sorticdn EQ 'X'.&lt;/P&gt;&lt;P&gt;    SORT itab2 BY wpreprn.      "preprn.    "pmp 020401&lt;/P&gt;&lt;P&gt;  ELSEIF sortamt EQ 'X'.&lt;/P&gt;&lt;P&gt;    SORT itab2 BY exbed .&lt;/P&gt;&lt;P&gt;  ELSEIF sortstat EQ 'X'.&lt;/P&gt;&lt;P&gt;    SORT itab2 BY status.&lt;/P&gt;&lt;P&gt;  ELSEIF sortdest EQ 'X'.&lt;/P&gt;&lt;P&gt;    SORT itab2 BY kunnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR slno.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab2.&lt;/P&gt;&lt;P&gt;    slno = slno + 1.&lt;/P&gt;&lt;P&gt; itab2-slno = slno.&lt;/P&gt;&lt;P&gt;    IF itab2-preprn EQ space.&lt;/P&gt;&lt;P&gt;      READ TABLE itab1 WITH KEY vbeln = itab2-vbeln BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        itab2-preprn = itab1-bolnr.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      modify itab2 transporting preprn where vbeln = itab2-vbeln.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF itab2-lfart EQ 'NL'.&lt;/P&gt;&lt;P&gt;      itab2-rnew = itab2-r_plant.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      itab2-rnew = itab2-kunag.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    modify itab2 .&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;loop at itab2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single OWNCAT CAPITN into (itab2-OWNCAT, ITAB2-CAPITN) from&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ztrmt where truckno = itab2-exti1.&lt;/P&gt;&lt;P&gt;*if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*modify itab2 index sy-tabix.&lt;/P&gt;&lt;P&gt;*endif.&lt;/P&gt;&lt;P&gt;*endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab2.&lt;/P&gt;&lt;P&gt;    CLEAR itab3.                       "pmp 13.01.01&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING itab2 TO itab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**pmp 13.01.01&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING itab2 TO itab4.&lt;/P&gt;&lt;P&gt;    APPEND itab4.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM t001k WHERE bwkey = itab2-werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE t001k-bukrs TO itab3-bukrs.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND itab3.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT itab3 BY bukrs matnr.           "pmp 13.01.01&lt;/P&gt;&lt;P&gt;  CLEAR: itab3.                        "pmp 13.01.01&lt;/P&gt;&lt;P&gt;  LOOP AT itab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW bukrs.&lt;/P&gt;&lt;P&gt;itab6-bukrs = itab3-bukrs.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF matnr.&lt;/P&gt;&lt;P&gt;      SUM.&lt;/P&gt;&lt;P&gt;      itab6-matnr = itab3-matnr.&lt;/P&gt;&lt;P&gt;             itab6-lfimg = itab3-lfimg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            52 itab3-exbed color 3.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;              itab6-totexcamt =  itab3-totexcamt.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end R004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append itab6.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  delete itab6 where matnr = ''.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from itab6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab4.&lt;/P&gt;&lt;P&gt;    AT END OF matnr.&lt;/P&gt;&lt;P&gt;      SUM.&lt;/P&gt;&lt;P&gt;     itab7-matnr =  itab4-matnr .&lt;/P&gt;&lt;P&gt;            itab7-lfimg = itab4-lfimg .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            52 itab4-exbed color 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**R004&lt;/P&gt;&lt;P&gt;             itab7-totexcamt = itab4-totexcamt .&lt;/P&gt;&lt;P&gt;**end R004&lt;/P&gt;&lt;P&gt;    collect itab7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from itab7.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from itab6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform sort_list.&lt;/P&gt;&lt;P&gt;perform modify_fieldcat.&lt;/P&gt;&lt;P&gt;PERFORM EVENT_LIST.&lt;/P&gt;&lt;P&gt;*PERFORM BLOCK_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform display_alv.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CANCEL_DOC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_cancel_doc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF itab2-status = 'R'.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM j_1iexchdr&lt;/P&gt;&lt;P&gt;    WHERE&lt;/P&gt;&lt;P&gt;      rdoc EQ bill&lt;/P&gt;&lt;P&gt;      AND exnum NE space AND status EQ 'C'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING j_1iexchdr TO itab2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_CANCEL_DOC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_KUNAG_NAME&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_kunag_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR itab2-kname1.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE name1 INTO itab2-kname1&lt;/P&gt;&lt;P&gt;    FROM kna1&lt;/P&gt;&lt;P&gt;    WHERE kunnr = itab1-kunag&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;%_HINTS ORACLE 'INDEX("KNA1" "KNA1~0")'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- +R009 --*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_KUNAG_NAME&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM display_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR WA_LAYOUT.&lt;/P&gt;&lt;P&gt;WA_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_CALLBACK_PROGRAM             = sy-repid&lt;/P&gt;&lt;P&gt;       I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           I_CALLBACK_PF_STATUS_SET = PFSTATUS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_PROGRAM_NAME     = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_INTERNAL_TABNAME = 'ITAB2'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_INCLNAME         = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CT_FIELDCAT        = ALVFC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:  IT_SORT TYPE  SLIS_T_SORTINFO_ALV, "&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; X_SORT TYPE SLIS_SORTINFO_ALV.&lt;BR /&gt; X_SORT-FIELDNAME = 'MATNR'.&lt;BR /&gt; X_SORT-TABNAME = 'ITAB2'.&lt;BR /&gt; X_SORT-UP = 'X'.&lt;BR /&gt; X_SORT-SUBTOT = 'X'.&lt;BR /&gt; APPEND X_SORT TO IT_SORT. "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout                  = WA_LAYOUT&lt;/P&gt;&lt;P&gt;      it_fieldcat                = it_fieldcat1&lt;/P&gt;&lt;P&gt;      i_tabname                  = 'ITAB2'&lt;/P&gt;&lt;P&gt;       IT_SORT                     = IT_SORT&lt;/P&gt;&lt;P&gt;      it_events                  = GT_XEVENTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SAVE                     = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                   = ITAB2&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error              = 1&lt;/P&gt;&lt;P&gt;      maximum_of_appends_reached = 2&lt;/P&gt;&lt;P&gt;      OTHERS                     = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout                  = WA_LAYOUT&lt;/P&gt;&lt;P&gt;      it_fieldcat                = it_fieldcat2&lt;/P&gt;&lt;P&gt;      i_tabname                  = 'ITAB6'&lt;/P&gt;&lt;P&gt;      it_events                  = GT_YEVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IT_SORT                          = IT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SAVE                     = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                   = itab6&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error              = 1&lt;/P&gt;&lt;P&gt;      maximum_of_appends_reached = 2&lt;/P&gt;&lt;P&gt;      OTHERS                     = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt; ADD INTERNAL TABLE PTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH ALVFC[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_PROGRAM_NAME     = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_INTERNAL_TABNAME = 'ITAB6'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_INCLNAME         = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CT_FIELDCAT        = ALVFC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt; ADD INTERNAL TABLE PTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH ALVFC[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout                  = WA_LAYOUT&lt;/P&gt;&lt;P&gt;      it_fieldcat                = IT_FIELDCAT3&lt;/P&gt;&lt;P&gt;      i_tabname                  = 'ITAB7'&lt;/P&gt;&lt;P&gt;      it_events                  = GT_ZEVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SORT                     = IT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SAVE                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                   = itab7&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error              = 1&lt;/P&gt;&lt;P&gt;      maximum_of_appends_reached = 2&lt;/P&gt;&lt;P&gt;      OTHERS                     = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_alv&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sort_list&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sort_list .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR WA_SORT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WA_SORT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WA_SORT-SUBTOT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WA_SORT-SPOS      = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND WA_SORT TO IT_SORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sort_list&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  modify_fieldcat&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM modify_fieldcat .&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'SLNO'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'Sr No'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'WADAT_IST'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'IATB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'G.I.DATE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'PREPRN'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'ICDN/DC NO.'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'dELIVERY NO.'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'AUART'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '6'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'ORDER TYPE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-col_pos = '6'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-seltext_l = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;*append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;*clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'LFIMG'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '7'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'RNEW'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '8'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'CUSTOMER'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'KUNNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '9'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'DESTINATION'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EXNUM'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '10'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'EXCISE NO'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EXDAT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '11'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'EXCISE DATE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'TOTEXCAMT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '12'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'EXCISE AMOUNT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'STATUS'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '13'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'EXCISE STATUS'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'TDLNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '14'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'TRANSPORTER'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'EXTI1'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '15'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'TRUCK NO'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'OWNCAT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '16'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'TRUCK CATEGORY'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'CAPITN'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '17'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'TRUCK TYPE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '18'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'PLANT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'KNAME1'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '19'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'SOLD TO PARTY'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'VTWEG'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '20'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'DISTRIBUTION CHANNEL'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'KZWI6'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '21'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'INVOICE VALUE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat1.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'BUKRS'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB6'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat2.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB6'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat2.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'LFIMG'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB6'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat2.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'TOTEXCAMT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB6'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'EXCISE VALUE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat2.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB7'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-emphasize = 'X'.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat3.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'LFIMG'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB7'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat3.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-fieldname = 'TOTEXCAMT'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-tabname = 'ITAB7'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;wa_fieldcat-seltext_l = 'EXCISE VALUE'.&lt;/P&gt;&lt;P&gt;*wa_fieldcat-emphasize = ''.&lt;/P&gt;&lt;P&gt;append wa_fieldcat to it_fieldcat3.&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " modify_fieldcat&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EVENT_LIST&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM EVENT_LIST .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'XTOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'XEND_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'XTOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'XEND_OF_LIST'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'YEND_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'YTOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'YTOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'YEND_OF_LIST'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'ZEND_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'ZTOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'ZTOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;  XS_EVENT-FORM = 'ZEND_OF_LIST'.&lt;/P&gt;&lt;P&gt;  APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;  CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENT_LIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XTOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/15(30) 'ICDN / DC wise Dispatch Report For The Period' COLOR 3,&lt;/P&gt;&lt;P&gt;             47 DATE-LOW , 58 'TO', 62 DATE-HIGH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YTOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOTAL BY COMPANY CODE' COLOR 3.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZTOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOTAL BY MATERIAL' COLOR 3.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XEND_OF_PAGE.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'END OF PAGE FOR MARA'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YEND_OF_PAGE.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'END OF PAGE FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZEND_OF_PAGE.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'END OF PAGE FOR MARC'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XTOP_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/40(30) 'ULTRATECH CEMENT LTD.' COLOR 6 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;SKIP 1.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YTOP_OF_LIST.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'TOP OF LIST FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZTOP_OF_LIST.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'TOP OF LIST FOR MARC'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XEND_OF_LIST.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'END OF LIST FOR MARA'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YEND_OF_LIST.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'END OF LIST FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZEND_OF_LIST.&lt;/P&gt;&lt;P&gt;*WRITE:/ 'END OF LIST FOR MARC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENT_LIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jul 2006 03:42:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429722#M205593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-13T03:42:33Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429723#M205594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;check the below links may be helpful for u&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=20386" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=20386&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=85191" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=85191&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=88401" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=88401&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapfans.com/forums/viewtopic.php?t=17335" target="test_blank"&gt;http://www.sapfans.com/forums/viewtopic.php?t=17335&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naveen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jul 2006 03:51:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429723#M205594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-13T03:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: ALV problem&gt;</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429724#M205595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt; REPORT zcmsr047 MESSAGE-ID zz
NO STANDARD PAGE HEADING
LINE-SIZE 350.

TABLES: likp,
        lips,
        vbak,
        vbpa,
        vbuk,
        vbrk,
        vbrp,
        vttk,
        vttp,
        vbfa,
        stxh,                          "pmp 13.01.01
        t001k,                         "pmp 13.01.01
        j_1iexchdr,
        j_1iexcdtl,
        adrc,
*        ZTRMT,
        kna1.
*        &amp;lt;zraildet.                                     "AA 100501
type-pools : slis.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,  "mara
       WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,  "makt
       WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.

DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV,  "marc
       WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.
DATA : IT_FIELDCAT3 TYPE SLIS_T_FIELDCAT_ALV,  "marc
       WA_FIELDCAT3 TYPE SLIS_FIELDCAT_ALV.


DATA: GT_PRINT TYPE SLIS_PRINT_ALV,
      WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
      XS_EVENT  TYPE SLIS_ALV_EVENT,
      GT_XEVENTS TYPE SLIS_T_EVENT,
      GT_YEVENTS TYPE SLIS_T_EVENT,
      GT_ZEVENTS TYPE SLIS_T_EVENT,
      WA_SORT TYPE SLIS_SORTINFO_ALV,
      IT_SORT TYPE SLIS_T_SORTINFO_ALV.


*---------------------------------
*PARAMETERS : a TYPE c.



DATA: ship_doc LIKE vttk-tknum,
      bill     LIKE vbrp-vbeln,
      c_vbeln  LIKE likp-vbeln,
      s_vbeln  LIKE vbfa-vbeln.

DATA: BEGIN OF itab1 OCCURS 0,
       vbeln LIKE likp-vbeln,
       wadat_ist LIKE likp-wadat_ist,
       erdat    LIKE likp-erdat,
       kunag LIKE likp-kunag,
       lfart LIKE likp-lfart,
       kunnr LIKE likp-kunnr,
       werks LIKE likp-werks,
       vstel LIKE likp-vstel,
       bolnr LIKE likp-bolnr, "Added by AA 27/04/01.
       exti1 LIKE vttk-exti1,
       tdlnr LIKE vttk-tdlnr,
       vtweg LIKE vbak-vtweg,                               "AA 100501.
       vgbel LIKE lips-vgbel,                               "AA 100501
       kzwi6 LIKE vbrp-kzwi6.                             " R002 added
*       OWNCAT LIKE .

DATA: END OF itab1.


DATA : BEGIN OF it_vbfa1 OCCURS 0,
       vbeln LIKE vbfa-vbeln,
       vbelv LIKE vbfa-vbeln,
       END OF it_vbfa1.

DATA : BEGIN OF it_vbfa2 OCCURS 0,
       vbeln LIKE vbfa-vbeln,
       vbelv LIKE vbfa-vbeln,
       posnv LIKE vbfa-posnv,
       END OF it_vbfa2.

DATA : BEGIN OF it_vbrp OCCURS 0,
       vbeln LIKE vbrp-vbeln,
       kzwi6 LIKE vbrp-kzwi6,
       posnr LIKE vbrp-posnr,
       END OF it_vbrp.

DATA : BEGIN OF it_vbak OCCURS 0,
       vbeln LIKE vbfa-vbeln,
       vtweg LIKE vbak-vtweg,
       auart LIKE vbak-auart,
       END OF it_vbak.

DATA : BEGIN OF it_vttp OCCURS 0,
       vbeln LIKE vttp-vbeln,
       tknum LIKE vttp-tknum,
       END OF it_vttp.

DATA : BEGIN OF it_vttk OCCURS 0,
       tknum LIKE vttk-tknum,
       exti1 LIKE vttk-exti1,
       tdlnr LIKE vttk-tdlnr,
       END OF it_vttk.

DATA : BEGIN OF it_vbuk OCCURS 0,
       vbeln LIKE vbuk-vbeln,
       wbstk LIKE vbuk-wbstk,
       END OF it_vbuk.

*DATA : BEGIN OF it_zrail OCCURS 0,
*       zzdelivery LIKE zraildet-zzdelivery,
*       zzwagon LIKE zraildet-zzwagon,
*       END OF it_zrail.

DATA: BEGIN OF itab2 OCCURS 0,
       vbeln LIKE likp-vbeln,
       wadat_ist LIKE likp-wadat_ist,
       erdat    LIKE likp-erdat,
       lfart LIKE likp-lfart,
       kunag LIKE likp-kunag,
       kunnr LIKE likp-kunnr,
       r_plant LIKE likp-werks,
       vstel LIKE likp-vstel,
       vkgrp LIKE lips-vkgrp,
       auart LIKE vbak-auart,
       matnr LIKE lips-matnr,
       lfimg LIKE lips-lfimg,
       werks LIKE lips-werks,
       name1 LIKE adrc-name1,
       city1 LIKE adrc-city1,
       preprn LIKE j_1iexchdr-preprn,
       vgbel LIKE lips-vgbel,          " Order No. SC
       exti1  LIKE vttk-exti1,         "Truck Number
       exti2  LIKE vttk-exti2,         "LR Number
       tdlnr  LIKE vttk-tdlnr,         "Transporter
       exbed  LIKE j_1iexchdr-exbed,
** R004
       ecs LIKE  j_1iexchdr-ecs,
       totexcamt LIKE j_1iexchdr-exbed,
** end R004
       exnum  LIKE j_1iexchdr-exnum,
       exdat  LIKE j_1iexchdr-exdat,
       status LIKE j_1iexchdr-status,
       sales_ord LIKE vbak-vbeln,
       wpreprn(10),                                         "pmp 020401
       kname1 LIKE kna1-name1,                              "AA 100501.
       vtweg  LIKE vbak-vtweg,                              "AA 100501
       kzwi6 LIKE vbrp-kzwi6,                            " R002 added
***** CHANGE ON 07-07-06
*       OWNCAT LIKE ZTRMT-OWNCAT,
*       CAPITN LIKE ZTRMT-CAPITN,
       slno type i,
       rnew(18),


       END OF itab2.

*data:begin of it_ztrmt occurs 0,
*      truckno like ztrmt-truckno,
*      OWNCAT LIKE ZTRMT-OWNCAT,
*       CAPITN LIKE ZTRMT-CAPITN,
*       end of it_ztrmt.

DATA: BEGIN OF itab3 OCCURS 0,
      bukrs LIKE t001k-bukrs,          "pmp 13.01.01
      matnr LIKE lips-matnr,
      werks LIKE lips-werks,           "pmp 13.01.01
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA : END OF itab3.

DATA: BEGIN OF itab4 OCCURS 0,         "pmp 13.01.01
      matnr LIKE lips-matnr,
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA: END OF itab4.

DATA: BEGIN OF itab7 OCCURS 0,         "pmp 13.01.01
      matnr LIKE lips-matnr,
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA: END OF itab7.

DATA : BEGIN OF itab5 OCCURS 0,
       kunnr LIKE kna1-kunnr,
       name1 LIKE kna1-name1,
       END OF itab5.                                        " +R007


DATA: wtline LIKE tline OCCURS 0 WITH HEADER LINE. "PMP 13.01.01
DATA: wname LIKE thead-tdname.         "PMP 13.01.01
DATA  slno TYPE i.

**** change/002 by rs on 08.10.2002
DATA: BEGIN OF iexcdtl OCCURS 0,
      docno LIKE j_1iexcdtl-docno,
      docno1 LIKE j_1iexcdtl-docno,
      rdoc1 LIKE j_1iexcdtl-rdoc1,
      exnum LIKE j_1iexcdtl-exnum,
      exnum1 LIKE j_1iexcdtl-exnum,
      werks LIKE j_1iexcdtl-werks,
      docyr LIKE j_1iexcdtl-docyr,
      END OF iexcdtl.

DATA: BEGIN OF iexchdr OCCURS 0,
      bukrs  LIKE j_1iexchdr-bukrs,
      werks  LIKE j_1iexchdr-werks,   " VBK 090402
      docyr  LIKE j_1iexchdr-docyr,
      preprn LIKE j_1iexchdr-preprn,
      exnum  LIKE j_1iexchdr-exnum,
      exdat  LIKE j_1iexchdr-exdat,
      status LIKE j_1iexchdr-status,
      exbed  LIKE j_1iexchdr-exbed,
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs,
      END OF iexchdr.

DATA  n TYPE i.
DATA : w_kzwi6 LIKE vbrp-kzwi6.
" R002 added
*-- +R009 --*
DATA v_diff TYPE i.
*-- +R009 --*
DATA: BEGIN OF itab6 OCCURS 0,
      bukrs LIKE t001k-bukrs,          "pmp 13.01.01
      matnr LIKE lips-matnr,
      werks LIKE lips-werks,           "pmp 13.01.01
      lfimg LIKE lips-lfimg,
      exbed LIKE j_1iexchdr-exbed,
** R004
       totexcamt LIKE j_1iexchdr-exbed,
       ecs LIKE  j_1iexchdr-ecs.
** end R004
DATA : END OF itab6.

***------------------------------------------------------------------***
***------------------------------------------------------------------***

SELECTION-SCREEN : BEGIN OF BLOCK abc WITH FRAME TITLE text-001.
SELECT-OPTIONS:
        vstel FOR   likp-vstel OBLIGATORY, " NO INTERVALS ,
        date  FOR   likp-wadat_ist OBLIGATORY,
        erdat FOR   likp-erdat,
        kunag FOR   likp-kunag NO INTERVALS,
        smatnr FOR lips-matnr,
        werks FOR   likp-werks NO INTERVALS NO-EXTENSION,
        pvtweg FOR  lips-vtweg .
PARAMETERS: PFSTATUS TYPE SLIS_FORMNAME DEFAULT 'PF_STATUS_SET'.

SELECTION-SCREEN : END OF BLOCK abc.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
SELECT-OPTIONS: ptdlnr FOR vttk-tdlnr NO INTERVALS,
            pexti1 FOR vttk-exti1 NO INTERVALS,
            pkunnr FOR likp-kunnr NO INTERVALS.
SELECTION-SCREEN END OF BLOCK b.

SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-003.
PARAMETERS : sorticdn  RADIOBUTTON GROUP b1 DEFAULT 'X',
             sortdelv  RADIOBUTTON GROUP b1,
             sortstat  RADIOBUTTON GROUP b1,
             sortamt   RADIOBUTTON GROUP b1,
             sortdest  RADIOBUTTON GROUP b1.
SELECTION-SCREEN END OF BLOCK c.
***------------------------------------------------------------------***
***------------------------------------------------------------------***


AT SELECTION-SCREEN.

  IF vstel CA '*'.
    MESSAGE e034 WITH 'Give specific value!!'.
  ENDIF.


  v_diff =  date-high - date-low .
  IF v_diff GT 31.
    MESSAGE e034 WITH 'Kindly Run This Report For 31 days or less!!'.
  ENDIF.

***------------------------------------------------------------------***
***------------------------------------------------------------------***
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      percentage = 100
      text       = 'Wait, Your Job Is Under Progress!!!'.
***------------------------------------------------------------------***
***------------------------------------------------------------------***

START-OF-SELECTION.


  CLEAR : it_vbfa1, it_vbfa1[],
          it_vbak,  it_vbak[],
          it_vbfa2, it_vbfa2[],
          it_vbrp,  it_vbrp[],
          it_vttp,  it_vttp[],
          it_vttk,  it_vttk[],
          it_vbuk,  it_vbuk[].
*          it_zrail, it_zrail[].


**-- Initial population of data from LIKP --**
* Population of ITAB1

  IF NOT kunag IS INITIAL AND
     NOT pkunnr IS INITIAL AND
     NOT werks IS INITIAL AND
     NOT erdat IS INITIAL.

    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
           WHERE     wadat_ist IN date
           AND       vstel     IN vstel
           AND       kunnr     IN pkunnr
           AND       werks     IN werks
           AND       erdat     IN erdat
           AND       kunag     IN kunag
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.

  ELSEIF
       kunag IS INITIAL AND
       pkunnr IS INITIAL AND
       werks IS INITIAL AND
       erdat IS INITIAL.

    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
           WHERE
           vstel IN vstel
           AND wadat_ist IN date
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z4")'.


  ELSEIF
      kunag IS INITIAL AND
      erdat IS INITIAL.

    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
           WHERE     wadat_ist IN date
           AND       vstel     IN vstel
           AND       kunnr     IN pkunnr
           AND       werks     IN werks
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.


  ELSE.
    SELECT vbeln wadat_ist erdat kunag lfart kunnr werks vstel bolnr
    INTO TABLE itab1 FROM likp
         WHERE     wadat_ist IN date
         AND       vstel     IN vstel
         AND       kunnr     IN pkunnr
         AND       werks     IN werks
         AND       erdat     IN erdat
         AND       kunag     IN kunag
     %_HINTS ORACLE 'INDEX("LIKP" "LIKP~Z3")'.

  ENDIF.


*- very important condition was missing -*
  IF itab1[] IS INITIAL.
    MESSAGE e034 WITH 'No suitable records found!!'.
  ENDIF.

*--PDS_OPT--*
**-- Fetching data from VBFA --*
*-- Distribution Channel --*

  break abap.

  SELECT vbeln vbelv FROM vbfa INTO TABLE it_vbfa1          "OK Z11
  FOR ALL  ENTRIES IN itab1
  WHERE
  vbeln EQ itab1-vbeln AND
  vbtyp_n EQ 'J' AND
  vbtyp_v EQ 'C'.

  IF NOT it_vbfa1[] IS INITIAL.
**-- Fetching data from VBAK --*
    SELECT vbeln vtweg FROM vbak INTO TABLE it_vbak
   FOR ALL ENTRIES IN it_vbfa1
   WHERE
   vbeln EQ it_vbfa1-vbelv
   AND
   vtweg IN pvtweg.
  ENDIF.

*-- if shipping point eq ÁCW --*

**-- Fetching data from VBFA --*
*--  Subtotal 6 from pricing procedure KZWI6 --*

  IF vstel-low EQ 'ACW'.
    SELECT vbeln vbelv posnv FROM vbfa INTO TABLE it_vbfa2  "OK Z3
       FOR ALL  ENTRIES IN itab1
       WHERE
       vbelv EQ itab1-vbeln AND
       vbtyp_n EQ 'M' AND
       vbtyp_v EQ 'J'.

    IF NOT it_vbfa2[] IS INITIAL.
      SELECT vbeln kzwi6 posnr FROM vbrp INTO TABLE it_vbrp "OK Z1
      FOR ALL ENTRIES IN it_vbfa2
      WHERE
      vbeln EQ it_vbfa2-vbeln
      %_HINTS ORACLE 'index("VBRP" "VBRP~Z1")'.
    ENDIF.

  ELSE.
*-- if shipping point ne ÁCW --*
    SELECT vbeln vbelv posnv FROM vbfa INTO TABLE it_vbfa2  "OK Z3
          FOR ALL  ENTRIES IN itab1
          WHERE
          vbelv EQ itab1-vbeln AND
          vbtyp_n EQ 'U' AND
          vbtyp_v EQ 'J'.

    IF NOT it_vbfa2[] IS INITIAL.
      SELECT vbeln kzwi6 posnr FROM vbrp INTO TABLE it_vbrp "OK Z1
      FOR ALL ENTRIES IN it_vbfa2
      WHERE
      vbeln EQ it_vbfa2-vbeln
            %_HINTS ORACLE 'index("VBRP" "VBRP~Z1")'.
    ENDIF.
  ENDIF.


*-- External ID --*
*-- no. of forwarding agent --*

**-- Fetching data from VTTP --*
  SELECT vbeln tknum FROM vttp INTO TABLE it_vttp  "OK VBL
  FOR ALL ENTRIES IN itab1
  WHERE
  vbeln EQ itab1-vbeln.

  IF sy-dbcnt NE 0.
**-- Fetching data from VTTK --*
*- 16/05/2006 -*
    SELECT tknum exti1 tdlnr FROM vttk INTO TABLE it_vttk "OK PRIMARY
    FOR ALL ENTRIES IN it_vttp
    WHERE
    tknum EQ it_vttp-tknum
    AND
    tdlnr IN ptdlnr AND
    exti1 IN pexti1.
  ENDIF.


**********************************CHANGE ON 07-07-06

*  SELECT * FROM ZTRMT INTO corresponding fields of
*         TABLE  IT_ztrmt .






**-- Fetching data from VBUK --*
*-- Total goods movement status --*
  SELECT vbeln wbstk FROM vbuk INTO TABLE it_vbuk           "OK Z1
  FOR ALL ENTRIES IN itab1
  WHERE
  vbeln EQ itab1-vbeln AND
  wbstk EQ 'C'.


**-- Moving required flds to ITAB1 --*
*- ITAB1 processing -*
  SORT itab1 BY vbeln.

  SORT it_vbfa1 BY vbeln.
  SORT it_vbak BY vbeln.
  SORT it_vttp BY vbeln.
  SORT it_vttk BY tknum.
  SORT it_vbuk BY vbeln.
  SORT PTDLNR BY LOW.
  SORT PEXTI1 BY LOW.

  LOOP AT itab1.

**-------------------**
* condition problem
**-------------------**

* moving VTWEG to itab1.

    READ TABLE it_vbfa1 WITH KEY vbeln = itab1-vbeln BINARY SEARCH.
    IF sy-subrc EQ 0.
      READ TABLE it_vbak WITH KEY vbeln = it_vbfa1-vbelv BINARY SEARCH.
      IF sy-subrc EQ 0.
        MOVE it_vbak-vtweg TO itab1-vtweg.
        MODIFY itab1 TRANSPORTING vtweg.
      ELSE.
* problem *
        DELETE itab1.
        CONTINUE.
      ENDIF.
    ENDIF.

* moving KZWI6 to itab1.
    LOOP AT it_vbfa2 WHERE vbelv EQ itab1-vbeln.
      CLEAR w_kzwi6.                                        "20042006
      LOOP AT it_vbrp WHERE vbeln = it_vbfa2-vbeln.
        w_kzwi6 = w_kzwi6 + it_vbrp-kzwi6.
      ENDLOOP.
      EXIT.
    ENDLOOP.
    MOVE w_kzwi6 TO itab1-kzwi6.
    MODIFY itab1 TRANSPORTING kzwi6.

* moving EXTI1 TDLNR to itab1
    READ TABLE it_vttp WITH KEY vbeln = itab1-vbeln BINARY SEARCH.
    IF sy-subrc EQ 0.
      READ TABLE it_vttk WITH KEY tknum = it_vttp-tknum BINARY SEARCH.

*******************************************CHANGE ON 07-07-06.




      IF sy-subrc EQ 0.
        MOVE it_vttk-tdlnr TO itab1-tdlnr.
        MOVE it_vttk-exti1 TO itab1-exti1.

        MODIFY itab1 TRANSPORTING tdlnr exti1.
      ENDIF.
    ENDIF.

* checking for goods movement status
    READ TABLE it_vbuk WITH KEY vbeln = itab1-vbeln BINARY SEARCH.
    IF sy-subrc NE 0.
      DELETE itab1.
      CONTINUE.                                             "16052006
    ENDIF.

    IF ptdlnr NE space.                                     "16052006
      READ TABLE ptdlnr WITH KEY low = itab1-tdlnr BINARY SEARCH.
      IF sy-subrc NE 0.
        DELETE itab1.
        continue.
      ENDIF.
    ENDIF.

        IF  pexti1 NE space .                               "16052006

*        ENDIF.                    "-16052006
*      ELSE.                       "-16052006

        READ TABLE pexti1 WITH KEY low = itab1-exti1 BINARY SEARCH.
        IF sy-subrc NE 0.
          DELETE itab1.
        ENDIF.
      ENDIF.

*    ENDIF.                         "-16052006
*      ENDIF.                       "-16052006

*    ENDIF.                         "-16052006



  ENDLOOP.
*--PDS_OPT--*

* releasing memory occupied by these tables
  FREE : it_vbfa1,
         it_vbak,
         it_vbfa2,
         it_vbrp,
         it_vttp,
         it_vttk,
         it_vbuk.
*         it_zrail.



**-- fetching from KNA1 --**
* Population of ITAB5


*- very important condition was missing -*
*- 24042006 -*
  IF itab1[] IS INITIAL.
    MESSAGE e034 WITH 'No suitable records found!!'.
  ENDIF.

  SELECT kunnr name1  FROM kna1
          INTO TABLE  itab5
          FOR ALL ENTRIES IN itab1
          WHERE kunnr = itab1-kunag
  %_HINTS ORACLE 'INDEX("KNA1" "KNA1~0")'.

  DELETE ADJACENT DUPLICATES FROM itab5.

**-- fetching from LIPS --**
* Population of ITAB2

  SELECT vbeln vkgrp matnr lfimg werks vgbel FROM lips
         INTO CORRESPONDING FIELDS OF TABLE  itab2
         FOR ALL ENTRIES IN itab1
          WHERE vbeln = itab1-vbeln
            AND pstyv NE 'ZREC'
            AND matnr IN smatnr
  %_HINTS ORACLE 'INDEX("LIPS" "LIPS~Z14")'.




***-- fetching from ZRAILDET --**
*  SELECT zzdelivery zzwagon FROM zraildet INTO TABLE it_zrail"OK Z1
*  FOR ALL ENTRIES IN itab1
*  WHERE
*  zzdelivery = itab1-vbeln.


*-- 20042006 --*
  SORT itab1 BY vbeln.
  SORT itab5 BY kunnr.
*  SORT  it_zrail BY zzdelivery.

*-- 20042006 --*

  LOOP AT itab2.
    READ TABLE itab1 WITH KEY vbeln = itab2-vbeln BINARY SEARCH.
    IF sy-subrc = 0.
      MOVE itab1-wadat_ist TO itab2-wadat_ist.
      MOVE itab1-erdat     TO itab2-erdat.
      MOVE itab1-kunag     TO itab2-kunag.
      MOVE itab1-lfart     TO itab2-lfart.
      MOVE itab1-kunnr     TO itab2-kunnr.
      MOVE itab1-vstel     TO itab2-vstel.
      MOVE itab1-werks     TO itab2-r_plant.
      MOVE itab1-vtweg     TO itab2-vtweg.
      MOVE itab1-kzwi6     TO itab2-kzwi6.
      MOVE itab1-tdlnr     TO itab2-tdlnr.
      MOVE itab1-exti1     TO itab2-exti1.



* *************************  change on 07-07-06



*      IF itab2-tdlnr IS INITIAL.
*        READ TABLE it_zrail WITH KEY zzdelivery = itab1-vbeln BINARY
*  SEARCH.
*        IF sy-subrc = 0.
*          itab2-tdlnr     = 'RAILWAY'.
*          itab2-exti1     = zraildet-zzwagon.
*        ENDIF.
*      ENDIF.
*
*      READ TABLE IT_ZTRMT WITH KEY TRUCKNO = itab1-exti1 .
*          IF SY-SUBRC = 0.
*           MOVE IT_ZTRMT-OWNCAT  TO ITAB2-OWNCAT.
*           MOVE IT_ZTRMT-CAPITN  TO ITAB2-CAPITN.
*           MODIFY itab2  TRANSPORTING OWNCAT CAPITN.
*
*           ENDIF.
*
*           clear it_ztrmt.






      READ TABLE itab5 WITH KEY kunnr = itab1-kunag BINARY SEARCH
      TRANSPORTING name1 .
      MOVE itab5-name1 TO itab2-kname1.
    ELSE.
      CONTINUE.
    ENDIF.
    MODIFY itab2 .
    CLEAR : itab1,itab2,itab5.
  ENDLOOP.

  DESCRIBE TABLE itab2 LINES n .

  IF n = 0.
    MESSAGE e034 WITH 'No records found for the selection'.
  ENDIF.

  SELECT  docno                                             "OK Z2
          rdoc1
          exnum
          docyr
          werks INTO CORRESPONDING
                FIELDS OF TABLE iexcdtl FROM j_1iexcdtl
                FOR ALL ENTRIES IN itab2
                WHERE rdoc1  = itab2-vbeln AND
                trntyp = 'DLFC' AND
                werks  IN vstel AND
                status NE 'R'                               "+R007
*-- +R009 --*
     %_HINTS ORACLE 'INDEX("J_1IEXCDTL" "J_1IEXCDTL~Z2")'.  " +R009
*-- +R009 --*

*  IF NOT iexcdtl[] IS INITIAL.
  LOOP AT iexcdtl.
    UNPACK iexcdtl-docno TO iexcdtl-docno1.
    UNPACK iexcdtl-exnum TO iexcdtl-exnum1.
    MODIFY iexcdtl.
  ENDLOOP.

  IF NOT iexcdtl[] IS INITIAL.
    SELECT docyr                                            "OK Z05
           bukrs
           werks
           preprn
           exnum
           exdat
           status
           exbed
           ecs
           INTO CORRESPONDING FIELDS OF TABLE iexchdr FROM
                 j_1iexchdr FOR ALL ENTRIES IN iexcdtl
                       WHERE
                       docno  = iexcdtl-docno1
                       AND trntyp = 'DLFC'
                       AND docyr =  iexcdtl-docyr
                       AND exnum  = iexcdtl-exnum1
                       AND werks  = iexcdtl-werks
                       AND status NE 'R'
*-- +R009 --*
     %_HINTS ORACLE 'INDEX("J_1IEXCHDR" "J_1IEXCHDR~Z05")'. " +R009
*-- +R009 --*
  ENDIF.



*  DATA : BEGIN OF a_itab OCCURS 0,
*           vbeln LIKE vbfa-vbelv,
*         END OF a_itab.

*--done---*

  SELECT vbeln auart      "OK PRIMARY
     INTO CORRESPONDING FIELDS OF TABLE it_vbak
     FROM vbak
     FOR ALL ENTRIES IN itab2
     WHERE
     vbeln EQ itab2-vgbel.


  SORT iexcdtl BY rdoc1.
  SORT iexchdr BY exnum werks.
  SORT it_vbak BY vbeln.

  LOOP AT itab2.

    READ TABLE iexcdtl WITH KEY rdoc1 = itab2-vbeln BINARY SEARCH.
    IF sy-subrc = 0.
      READ TABLE iexchdr WITH KEY exnum = iexcdtl-exnum
                                  werks = itab2-werks
                                  BINARY SEARCH.
      IF sy-subrc = 0.
        itab2-preprn = iexchdr-preprn.
        itab2-exnum  = iexchdr-exnum.
        itab2-exdat  = iexchdr-exdat.
        itab2-status = iexchdr-status.
        itab2-exbed  = iexchdr-exbed.
        itab2-ecs  = iexchdr-ecs.
      ENDIF.
    ENDIF.

    IF itab2-preprn EQ space.
      MOVE itab2-vbeln TO wname.
      SELECT SINGLE * FROM stxh CLIENT SPECIFIED
         WHERE mandt    = sy-mandt
           AND tdobject = 'VBBK'
           AND tdname   = wname
           AND tdid     = 'Z805'
           AND tdspras  = sy-langu.

      IF sy-subrc EQ 0.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
            client   = sy-mandt
            id       = 'Z805'
            language = sy-langu
            name     = wname
            object   = 'VBBK'
          TABLES
            lines    = wtline.

        READ TABLE wtline INDEX 1.
        itab2-preprn = wtline-tdline+0(12) .
      ENDIF.

    ENDIF.

    READ TABLE it_vbak WITH KEY vbeln = itab2-vgbel BINARY SEARCH.
    IF sy-subrc IS INITIAL.
      MOVE it_vbak-auart TO itab2-auart.
    ENDIF.

    WRITE: itab2-preprn TO itab2-wpreprn RIGHT-JUSTIFIED.

    CLEAR itab2-totexcamt.
    itab2-totexcamt = itab2-exbed + itab2-ecs.


    CALL FUNCTION 'J_1I6_ROUND_TO_NEAREST_AMT'
      EXPORTING
        i_amount        = itab2-totexcamt
*   I_AMOUNT1       =
*   I_AMOUNT2       =
*   I_AMOUNT3       =
*   I_AMOUNT5       =
     IMPORTING
       e_amount         = itab2-totexcamt
*   E_AMOUNT1       =
*   E_AMOUNT2       =
*   E_AMOUNT3       =
*   E_AMOUNT5       =
           .
** End R005

    MODIFY itab2.

  ENDLOOP.

END-OF-SELECTION.

  IF sortdelv EQ 'X'.
    SORT itab2 BY vbeln.
  ELSEIF sorticdn EQ 'X'.
    SORT itab2 BY wpreprn.      "preprn.    "pmp 020401
  ELSEIF sortamt EQ 'X'.
    SORT itab2 BY exbed .
  ELSEIF sortstat EQ 'X'.
    SORT itab2 BY status.
  ELSEIF sortdest EQ 'X'.
    SORT itab2 BY kunnr.
  ENDIF.
  CLEAR slno.
  FORMAT INTENSIFIED OFF.

  LOOP AT itab2.
    slno = slno + 1.
 itab2-slno = slno.
    IF itab2-preprn EQ space.
      READ TABLE itab1 WITH KEY vbeln = itab2-vbeln BINARY SEARCH.
      IF sy-subrc = 0.
        itab2-preprn = itab1-bolnr.
      ENDIF.
      modify itab2 transporting preprn where vbeln = itab2-vbeln.
    ENDIF.


    IF itab2-lfart EQ 'NL'.
      itab2-rnew = itab2-r_plant.
    ELSE.
      itab2-rnew = itab2-kunag.
    ENDIF.
    modify itab2 .
 ENDLOOP.

* loop at itab2.
*    select single OWNCAT CAPITN into (itab2-OWNCAT, ITAB2-CAPITN) from
*ztrmt where truckno = itab2-exti1.
*if sy-subrc = 0.
*modify itab2 index sy-tabix.
*endif.
*endloop.



  LOOP AT itab2.
    CLEAR itab3.                       "pmp 13.01.01
    MOVE-CORRESPONDING itab2 TO itab3.

**pmp 13.01.01
    MOVE-CORRESPONDING itab2 TO itab4.
    APPEND itab4.
    SELECT SINGLE * FROM t001k WHERE bwkey = itab2-werks.
    IF sy-subrc EQ 0.
      MOVE t001k-bukrs TO itab3-bukrs.
    ENDIF.

    APPEND itab3.
  ENDLOOP.

  SORT itab3 BY bukrs matnr.           "pmp 13.01.01
  CLEAR: itab3.                        "pmp 13.01.01
  LOOP AT itab3.

    AT NEW bukrs.
itab6-bukrs = itab3-bukrs.
    ENDAT.

    AT END OF matnr.
      SUM.
      itab6-matnr = itab3-matnr.
             itab6-lfimg = itab3-lfimg.
*             52 itab3-exbed color 3.
** R004
              itab6-totexcamt =  itab3-totexcamt.
** end R004
    ENDAT.

    append itab6.
  ENDLOOP.
  delete itab6 where matnr = ''.
delete adjacent duplicates from itab6.

  LOOP AT itab4.
    AT END OF matnr.
      SUM.
     itab7-matnr =  itab4-matnr .
            itab7-lfimg = itab4-lfimg .
*             52 itab4-exbed color 3.
**R004
             itab7-totexcamt = itab4-totexcamt .
**end R004
    collect itab7.

    ENDAT.
  ENDLOOP.
delete adjacent duplicates from itab7.
delete adjacent duplicates from itab6.

perform sort_list.
perform modify_fieldcat.
PERFORM EVENT_LIST.
*PERFORM BLOCK_LIST.

perform display_alv.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_CANCEL_DOC
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM get_cancel_doc.

  IF itab2-status = 'R'.
    SELECT SINGLE * FROM j_1iexchdr
    WHERE
      rdoc EQ bill
      AND exnum NE space AND status EQ 'C'.
    IF sy-subrc EQ 0.
      MOVE-CORRESPONDING j_1iexchdr TO itab2.
    ENDIF.
  ENDIF.


ENDFORM.                               " GET_CANCEL_DOC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_KUNAG_NAME
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM get_kunag_name.

  CLEAR itab2-kname1.
  SELECT SINGLE name1 INTO itab2-kname1
    FROM kna1
    WHERE kunnr = itab1-kunag
*-- +R009 --*
%_HINTS ORACLE 'INDEX("KNA1" "KNA1~0")'.

*-- +R009 --*

  .

ENDFORM.                    " GET_KUNAG_NAME
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_alv
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display_alv .

CLEAR WA_LAYOUT.
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.




CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
  EXPORTING
    I_CALLBACK_PROGRAM             = sy-repid
       I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
*            I_CALLBACK_PF_STATUS_SET = PFSTATUS.
          .

*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*    EXPORTING
*      I_PROGRAM_NAME     = SY-REPID
*      I_INTERNAL_TABNAME = 'ITAB2'
*      I_INCLNAME         = SY-REPID
*    CHANGING
*      CT_FIELDCAT        = ALVFC.
DATA:  IT_SORT TYPE  SLIS_T_SORTINFO_ALV, "&amp;lt;b&amp;gt;
        X_SORT TYPE SLIS_SORTINFO_ALV.
     X_SORT-FIELDNAME = 'MATNR'.
     X_SORT-TABNAME = 'ITAB2'.

     X_SORT-UP = 'X'.
     X_SORT-SUBTOT = 'X'.
     APPEND X_SORT TO IT_SORT. "&amp;lt;/b&amp;gt;


CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                  = WA_LAYOUT
      it_fieldcat                = it_fieldcat1
      i_tabname                  = 'ITAB2'
       IT_SORT                     = IT_SORT
      it_events                  = GT_XEVENTS

*      IT_SAVE                     = 'A'



    TABLES
      t_outtab                   = ITAB2
    EXCEPTIONS
      program_error              = 1
      maximum_of_appends_reached = 2
      OTHERS                     = 3.

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                  = WA_LAYOUT
      it_fieldcat                = it_fieldcat2
      i_tabname                  = 'ITAB6'
      it_events                  = GT_YEVENTS
*            IT_SORT                          = IT_SORT

*      IT_SAVE                     = 'A'


    TABLES
      t_outtab                   = itab6
    EXCEPTIONS
      program_error              = 1
      maximum_of_appends_reached = 2
      OTHERS                     = 3.



*------------------- ADD INTERNAL TABLE PTAB

*  REFRESH ALVFC[].
*
*  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*    EXPORTING
*      I_PROGRAM_NAME     = SY-REPID
*      I_INTERNAL_TABNAME = 'ITAB6'
*      I_INCLNAME         = SY-REPID
*    CHANGING
*      CT_FIELDCAT        = ALVFC.


*------------------- ADD INTERNAL TABLE PTAB

*  REFRESH ALVFC[].
*

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      is_layout                  = WA_LAYOUT
      it_fieldcat                = IT_FIELDCAT3
      i_tabname                  = 'ITAB7'
      it_events                  = GT_ZEVENTS
*     IT_SORT                     = IT_SORT

*      IT_SAVE                     = 'X'
    TABLES
      t_outtab                   = itab7
    EXCEPTIONS
      program_error              = 1
      maximum_of_appends_reached = 2
      OTHERS                     = 3.


*--------------- DISPLAY

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    EXCEPTIONS
      program_error = 1
      OTHERS        = 2.


ENDFORM.                    " display_alv
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  sort_list
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM sort_list .

*  CLEAR WA_SORT.
*  WA_SORT-FIELDNAME = 'MATNR'.
*  WA_SORT-SUBTOT = 'X'.
*  WA_SORT-SPOS      = 1.
*    APPEND WA_SORT TO IT_SORT.

ENDFORM.                    " sort_list
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  modify_fieldcat
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_fieldcat .
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-key = 'X'.
wa_fieldcat-seltext_l = 'MATERIAL'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.


wa_fieldcat-fieldname = 'SLNO'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'Sr No'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'WADAT_IST'.
wa_fieldcat-tabname = 'IATB2'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'G.I.DATE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'PREPRN'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '4'.
wa_fieldcat-seltext_l = 'ICDN/DC NO.'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '5'.
wa_fieldcat-seltext_l = 'dELIVERY NO.'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'AUART'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '6'.
wa_fieldcat-seltext_l = 'ORDER TYPE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

*wa_fieldcat-fieldname = 'MATNR'.
*wa_fieldcat-tabname = 'ITAB2'.
*wa_fieldcat-col_pos = '6'.
*wa_fieldcat-seltext_l = 'MATERIAL'.
*wa_fieldcat-emphasize = 'X'.
*append wa_fieldcat to it_fieldcat1.
*clear wa_fieldcat.

wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '7'.
wa_fieldcat-seltext_l = 'QUANTITY'.
&amp;lt;b&amp;gt;wa_fieldcat-inttype = 'P'.&amp;lt;/b&amp;gt;
wa_fieldcat-DO_SUM = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'RNEW'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '8'.
wa_fieldcat-seltext_l = 'CUSTOMER'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'KUNNR'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '9'.
wa_fieldcat-seltext_l = 'DESTINATION'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'EXNUM'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '10'.
wa_fieldcat-seltext_l = 'EXCISE NO'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'EXDAT'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '11'.
wa_fieldcat-seltext_l = 'EXCISE DATE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TOTEXCAMT'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '12'.
&amp;lt;b&amp;gt;wa_fieldcat-inttype = 'P'.&amp;lt;/b&amp;gt;
wa_fieldcat-seltext_l = 'EXCISE AMOUNT'.
wa_fieldcat-DO_SUM = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'STATUS'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '13'.
wa_fieldcat-seltext_l = 'EXCISE STATUS'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TDLNR'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '14'.
wa_fieldcat-seltext_l = 'TRANSPORTER'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'EXTI1'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '15'.
wa_fieldcat-seltext_l = 'TRUCK NO'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'OWNCAT'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '16'.
wa_fieldcat-seltext_l = 'TRUCK CATEGORY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'CAPITN'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '17'.
wa_fieldcat-seltext_l = 'TRUCK TYPE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '18'.
wa_fieldcat-seltext_l = 'PLANT'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'KNAME1'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '19'.
wa_fieldcat-seltext_l = 'SOLD TO PARTY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'VTWEG'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '20'.
wa_fieldcat-seltext_l = 'DISTRIBUTION CHANNEL'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'KZWI6'.
wa_fieldcat-tabname = 'ITAB2'.
wa_fieldcat-col_pos = '21'.
wa_fieldcat-seltext_l = 'INVOICE VALUE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat1.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'BUKRS'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-seltext_l = 'COMPANY CODE'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'MATERIAL'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'QUANTITY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TOTEXCAMT'.
wa_fieldcat-tabname = 'ITAB6'.
wa_fieldcat-col_pos = '4'.
wa_fieldcat-seltext_l = 'EXCISE VALUE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat2.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-tabname = 'ITAB7'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-seltext_l = 'MATERIAL'.
wa_fieldcat-emphasize = 'X'.
append wa_fieldcat to it_fieldcat3.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-tabname = 'ITAB7'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'QUANTITY'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat3.
clear wa_fieldcat.

wa_fieldcat-fieldname = 'TOTEXCAMT'.
wa_fieldcat-tabname = 'ITAB7'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'EXCISE VALUE'.
*wa_fieldcat-emphasize = ''.
append wa_fieldcat to it_fieldcat3.
clear wa_fieldcat.

ENDFORM.                    " modify_fieldcat
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  EVENT_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM EVENT_LIST .

CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  XS_EVENT-FORM = 'XTOP_OF_PAGE'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
  XS_EVENT-FORM = 'XEND_OF_PAGE'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  XS_EVENT-FORM = 'XTOP_OF_LIST'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
  XS_EVENT-FORM = 'XEND_OF_LIST'.
  APPEND XS_EVENT TO GT_XEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
  XS_EVENT-FORM = 'YEND_OF_PAGE'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  XS_EVENT-FORM = 'YTOP_OF_PAGE'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  XS_EVENT-FORM = 'YTOP_OF_LIST'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
  XS_EVENT-FORM = 'YEND_OF_LIST'.
  APPEND XS_EVENT TO GT_YEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
  XS_EVENT-FORM = 'ZEND_OF_PAGE'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
  XS_EVENT-FORM = 'ZTOP_OF_PAGE'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
  XS_EVENT-FORM = 'ZTOP_OF_LIST'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.

  XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
  XS_EVENT-FORM = 'ZEND_OF_LIST'.
  APPEND XS_EVENT TO GT_ZEVENTS.
  CLEAR XS_EVENT.


ENDFORM.                    " EVENT_LIST

FORM XTOP_OF_PAGE.
WRITE:/15(30) 'ICDN / DC wise Dispatch Report For The Period' COLOR 3,
             47 DATE-LOW , 58 'TO', 62 DATE-HIGH.

ENDFORM.

FORM YTOP_OF_PAGE.
WRITE:/ 'TOTAL BY COMPANY CODE' COLOR 3.
ENDFORM.

FORM ZTOP_OF_PAGE.
WRITE:/ 'TOTAL BY MATERIAL' COLOR 3.
ENDFORM.

FORM XEND_OF_PAGE.
*WRITE:/ 'END OF PAGE FOR MARA'.
ENDFORM.

FORM YEND_OF_PAGE.
*WRITE:/ 'END OF PAGE FOR MAKT'.
ENDFORM.

FORM ZEND_OF_PAGE.
*WRITE:/ 'END OF PAGE FOR MARC'.
ENDFORM.

FORM XTOP_OF_LIST.
WRITE:/40(30) 'ULTRATECH CEMENT LTD.' COLOR 6 INTENSIFIED OFF.
SKIP 1.
ENDFORM.

FORM YTOP_OF_LIST.
*WRITE:/ 'TOP OF LIST FOR MAKT'.
ENDFORM.

FORM ZTOP_OF_LIST.
*WRITE:/ 'TOP OF LIST FOR MARC'.
ENDFORM.

FORM XEND_OF_LIST.
*WRITE:/ 'END OF LIST FOR MARA'.
ENDFORM.

FORM YEND_OF_LIST.
*WRITE:/ 'END OF LIST FOR MAKT'.
ENDFORM.

FORM ZEND_OF_LIST.
*WRITE:/ 'END OF LIST FOR MARC'.


ENDFORM.                    " EVENT_LIST&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;                         .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The missing thing is &lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;wa_fieldcat-inttype = 'P'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now it is working fine. just check it.&lt;/P&gt;&lt;P&gt;Please reward points for helpful answers.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jul 2006 07:06:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-problem-gt/m-p/1429724#M205595</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-13T07:06:40Z</dc:date>
    </item>
  </channel>
</rss>

