Can any one help me to get Material no in the report

Hi Gurus
Can anyone help me to alter and get material number and description from VBAP , This is basically document price change report for users.
The code is below
report ZCHGDOC_BY_SALES no standard page heading
                          line-size 132.
type-pools:
  slis.                     " ALV types
Tables
tables:
  cdhdr,                    " Change documents: Header
  cdpos,                    " Change documents: Items
  vbak,                     " Sales order: Header
  mara,                     " Material No
  user_addr,                 " User Address
  vbap.                     " Contract order: Items
Types
types:
  begin of ty_cdhdr,
    objectclas like cdhdr-objectclas,     " Object class
    objectid   like cdhdr-objectid,       " Object value
    changenr   like cdhdr-changenr,       " Document change number
    username   like cdhdr-username,       " Changed by
    udate      like cdhdr-udate,          " Changed on
    utime      like cdhdr-utime,          " Changed at
    tcode      like cdhdr-tcode,          " Transaction code
  end of ty_cdhdr,
  ty_it_cdhdr type ty_cdhdr occurs 0,
  begin of ty_cdpos,
    objectclas like cdpos-objectclas,     " Object class
    objectid   like cdpos-objectid,       " Object value
    changenr   like cdpos-changenr,       " Document change number
    tabname    like cdpos-tabname,        " Table name
    tabkey     like cdpos-tabkey,         " Table key
    fname      like cdpos-fname,          " Field name
    chngind    like cdpos-chngind,        " Change indicator
    value_new  like cdpos-value_new,      " New value of field
    value_old  like cdpos-value_old,      " Old value of field
  end of ty_cdpos,
  ty_it_cdpos type ty_cdpos occurs 0,
  begin of ty_dd03l,
    tabname   like dd03l-tabname,
    fieldname like dd03l-fieldname,
    as4local  like dd03l-as4local,
    as4vers   like dd03l-as4vers,
    rollname  like dd03l-rollname,
  end of ty_dd03l,
  ty_it_dd03l type ty_dd03l occurs 0,
  begin of ty_dd04t,
    rollname   like dd04t-rollname,
    ddlanguage like dd04t-ddlanguage,
    as4local   like dd04t-as4local,
    as4vers    like dd04t-as4vers,
    scrtext_l  like dd04t-scrtext_l,
  end of ty_dd04t,
  ty_it_dd04t type ty_dd04t occurs 0,
  begin of ty_kna1,
    kunnr like kna1-kunnr,                 " Customer number
    name1 like kna1-name1,                 " Customer name
  end of ty_kna1,
  ty_it_kna1 type ty_kna1 occurs 0,
   begin of ty_user_addr,
    bname    like user_addr-bname,              " user no
    name_textc like user_addr-name_textc ,      " Username
  end of ty_user_addr,
  ty_it_user_addr type ty_user_addr occurs 0,
  begin of ty_vbap,
    matnr     like vbap-matnr,             " Material No
    arktx     like vbap-arktx,             " Production Description
  end of ty_vbap,
  ty_it_vbap type ty_vbap occurs 0,
  ty_text(500) type c,
  ty_lines type tline,
  ty_it_lines type ty_lines occurs 0,
  begin of ty_merged,
    vbeln     like vbak-vbeln,            " Sales order number
    erdat     like vbak-erdat,            " Created on
    auart     like vbak-auart,            " Order type
    faksk     like vbak-faksk,            " Billing block in SD document
    netwr     like vbak-netwr,            " Net value
    waerk     like vbak-waerk,            " Currency
    vkorg     like vbak-vkorg,            " Sales organisation
    vtweg     like vbak-vtweg,            " Distribution channel
    vkbur     like vbak-vkbur,            " Sales office
    fkara     like vbak-fkara,            " Proposed billing type
    kunnr     like vbak-kunnr,            " Sold-to party
    bname     like vbak-bname ,           " User No
    xblnr     like vbak-xblnr,            " Reference
    fbuda     like vbkd-fbuda,            " Date services rendered
    username  like cdhdr-username,        " Changed by
    udate     like cdhdr-udate,           " Changed on
    utime     like cdhdr-utime,           " Changed at
    tcode     like cdhdr-tcode,           " Transaction code
    tabname   like cdpos-tabname,         " Table name
    tabkey    like cdpos-tabkey,          " Table key
    fname     like cdpos-fname,           " Field name
    chngind   like cdpos-chngind,         " Change indicator
    value_new like cdpos-value_new,       " New value of field
    value_old like cdpos-value_old,       " Old value of field
    scrtext_l like dd04t-scrtext_l,       " Description of field
    intnote   type ty_text,               " Internal note
    hdrnote   type ty_text,               " Header note
    name1     like adrc-name1,            " Sold-to party name
    matnr     like vbap-matnr,            " Material No
    arktx     like vbap-arktx,            " Product Description
  end of ty_merged,
  ty_it_merged type ty_merged occurs 0,
  begin of ty_vbak,
    vbeln    like vbak-vbeln,             " Sales order number
    erdat    like vbak-erdat,             " Created on
    auart    like vbak-auart,             " Order type
    faksk    like vbak-faksk,             " Billing block in SD document
    netwr    like vbak-netwr,             " Net value
    waerk    like vbak-waerk,             " Currency
    vkorg    like vbak-vkorg,             " Sales organisation
    vtweg    like vbak-vtweg,             " Distribution channel
    vkbur    like vbak-vkbur,             " Sales office
    fkara    like vbak-fkara,             " Proposed billing type
    kunnr    like vbak-kunnr,             " Sold-to party
    xblnr    like vbak-xblnr,             " Reference
    objectid like cdhdr-objectid,         " Change document object
  end of ty_vbak,
  ty_it_vbak type ty_vbak occurs 0,
  begin of ty_vbkd,
    vbeln like vbkd-vbeln,                " Sales order number
    posnr like vbkd-posnr,                " Sales order item
    fbuda like vbkd-fbuda,                " Date services rendered
  end of ty_vbkd,
  ty_it_vbkd type ty_vbkd occurs 0.
Internal tables
data:
  it_cdhdr    type ty_it_cdhdr,
  it_cdpos    type ty_it_cdpos,
  it_fieldcat type slis_t_fieldcat_alv,
  it_kna1     type ty_it_kna1,
  it_user_addr type ty_it_user_addr,
  it_merged   type ty_it_merged,
  it_vbak     type ty_it_vbak,
Material No
  it_vbap     type ty_it_vbap,
  it_vbkd     type ty_it_vbkd.
data:
  wa_vbak  type ty_vbak.
data:
  st_tvariant  like disvariant,
  st_variant   like disvariant.
constants:
  co_as4local_a           like dd03l-as4local     " Active version
                          value 'A',
  co_objectclas_verkbeleg like cdhdr-objectclas
                          value 'VERKBELEG',
  co_posnr_initial        like vbkd-posnr         " Initial item number
                          value is initial,
  co_posnr_initial_2        like vbap-posnr         " Initial item number
                          value is initial,
  co_save_u               type c                  " User display variant
                          value 'U',              " saving allowed.
  co_trvog_0              like vbak-trvog         " Sales order
                          value '0'.
data:
  va_exit                 type c,                 " ALV display
  va_tabix                like sy-tabix.
selection-screen: begin of block b1 with frame title text-001.
select-options:
  s_vkorg  for vbak-vkorg OBLIGATORY,            " Sales organisation
  s_vkbur  for vbak-vkbur,            " Sales office
  s_vtweg  for vbak-vtweg,            " Distribution channel
  s_vbeln  for vbak-vbeln,            " Sales order number
  s_usrnme for cdhdr-username,        " Changed by
  s_udate  for cdhdr-udate.           " Changed on
selection-screen: end of block b1,
                  begin of block b2 with frame title text-002.
parameters:
  p_varint like disvariant-variant.   " Display variant.
selection-screen: end of block b2.
Initialization
initialization.
Load display variant.
  if not p_varint is initial.
    move st_variant to st_tvariant.
    move p_varint to st_tvariant-variant.
    call function 'REUSE_ALV_VARIANT_EXISTENCE'
         exporting
              i_save     = co_save_u
         changing
              cs_variant = st_tvariant.
    st_variant = st_tvariant.
  else.
    clear st_variant.
    st_variant-report = sy-repid.
  endif.
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
  call function 'REUSE_ALV_VARIANT_F4'
       exporting
            is_variant = st_variant
            i_save     = co_save_u
       importing
            e_exit     = va_exit
            es_variant = st_tvariant
       exceptions
            not_found  = 2.
  if sy-subrc eq 2.
    message id sy-msgid type 'S'
            number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  else.
    if va_exit eq space.
      st_variant = st_tvariant.
      p_varint = st_tvariant-variant.
    endif.
  endif.
At selection screen
at selection-screen.
Load display variant.
  if not p_varint is initial.
    move st_variant to st_tvariant.
    move p_varint to st_tvariant-variant.
    call function 'REUSE_ALV_VARIANT_EXISTENCE'
         exporting
              i_save     = co_save_u
         changing
              cs_variant = st_tvariant.
    st_variant = st_tvariant.
  else.
    clear st_variant.
    st_variant-report = sy-repid.
  endif.
Start of selection
Extract order details from VBAK
  select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara
         kunnr xblnr
         from  vbak
         into  table it_vbak
         where vkorg in s_vkorg
         and   vkbur in s_vkbur
         and   vbeln in s_vbeln.
  if sy-subrc ne 0.
  No data found for selection
    message s001(zgen).
    exit.
  endif.
  loop at it_vbak into wa_vbak.
    va_tabix = sy-tabix.
    wa_vbak-objectid = wa_vbak-vbeln.
    modify it_vbak from wa_vbak
                   index va_tabix
                   transporting objectid.
  endloop.
if sy-subrc ne 0.
  No data found for selection
   message s001(zgen).
   exit.
endif.
loop at it_vbak into wa_vbak.
   va_tabix = sy-tabix.
   wa_vbak-objectid = wa_vbak-vbeln.
   modify it_vbak from wa_vbak
                  index va_tabix
                  transporting objectid.
endloop.
Extract  Change data
  select objectclas objectid changenr username udate utime tcode
         from  cdhdr
         into  table it_cdhdr
         for   all entries in it_vbak
         where objectclas eq co_objectclas_verkbeleg
         and   objectid   eq it_vbak-objectid
         and   username   in s_usrnme
         and   udate      in s_udate.
  if sy-subrc eq 0.
    select objectclas objectid changenr tabname tabkey fname chngind
           value_new value_old
           from  cdpos
           into  table it_cdpos
           for   all entries in it_cdhdr
           where fname NE 'CMPRE_FLT'
           and objectclas eq it_cdhdr-objectclas
           and   objectid   eq it_cdhdr-objectid
           and   changenr   eq it_cdhdr-changenr.
  endif.
Extract customer details from KNA1
  select kunnr name1
         from  kna1
         into  table it_kna1
         for   all entries in it_vbak
         where kunnr eq it_vbak-kunnr.
---- Changes are made here -
   select matnr arktx
   from vbap
   into table it_vbap
   for all entries in it_vbak
   where
   vbeln eq it_vbak-vbeln.
-----------------End of Change ----------------------*
Extract Contract No from vbkd.
  select vbeln posnr fbuda
         from  vbkd
         into  table it_vbkd
         for   all entries in it_vbak
         where vbeln eq it_vbak-vbeln
         and   posnr eq co_posnr_initial.
  perform merge_data tables it_cdhdr
                            it_cdpos
                            it_kna1
                            it_user_addr
                            it_merged
                            it_vbak
                            it_vbap
                            it_vbkd.
  if it_merged[] is initial.
    message s001(zgen).
    exit.
  endif.
Release memory no longer required.
  free: it_cdhdr,
        it_cdpos,
        it_kna1,
        it_user_addr,
        it_vbak,
        it_vbap,
        it_vbkd.
Build field catalog for call to report function
  perform build_field_catalog tables it_fieldcat.
Output report.
  perform output_report tables it_fieldcat
                               it_merged.
*&      Form  merge_data
      text
form merge_data  tables   pa_it_cdhdr  type ty_it_cdhdr
                          pa_it_cdpos  type ty_it_cdpos
                          pa_it_kna1   type ty_it_kna1
                          pa_it_user_addr type ty_it_user_addr
                          pa_it_merged type ty_it_merged
                          pa_it_vbak   type ty_it_vbak
                          pa_it_vbap   type ty_it_vbap
                          pa_it_vbkd   type ty_it_vbkd.
Local internal tables
data:
  lit_dd03l type ty_it_dd03l,
  lit_dd04t type ty_it_dd04t.
Local work areas
data:
  lwa_cdhdr  type ty_cdhdr,
  lwa_cdpos  type ty_cdpos,
  lwa_dd03l  type ty_dd03l,
  lwa_dd04t  type ty_dd04t,
  lwa_kna1   type ty_kna1,
  lwa_user_addr type ty_user_addr,
  lwa_merged type ty_merged,
  lwa_vbak   type ty_vbak,
  lwa_vbap   type ty_vbap,
  lwa_vbkd   type ty_vbkd.
Local variables
data:
  lva_dd03l_tabix like sy-tabix,
  lva_dd04t_tabix like sy-tabix.
Sort Data
  sort pa_it_cdhdr by objectid changenr.
  sort pa_it_cdpos by objectid changenr tabname tabkey fname.
  sort pa_it_kna1  by kunnr.
  sort pa_it_user_addr by bname.
  sort pa_it_vbak  by vbeln.
   sort pa_it_vbkd  by vbeln.
  loop at pa_it_vbak into lwa_vbak.
    clear lwa_merged.
  Assign sales order fields to reporting work area
    lwa_merged-vbeln = lwa_vbak-vbeln.
    lwa_merged-erdat = lwa_vbak-erdat.
    lwa_merged-auart = lwa_vbak-auart.
    lwa_merged-faksk = lwa_vbak-faksk.
    lwa_merged-netwr = lwa_vbak-netwr.
    lwa_merged-waerk = lwa_vbak-waerk.
    lwa_merged-vkorg = lwa_vbak-vkorg.
    lwa_merged-vtweg = lwa_vbak-vtweg.
    lwa_merged-vkbur = lwa_vbak-vkbur.
    lwa_merged-fkara = lwa_vbak-fkara.
    lwa_merged-kunnr = lwa_vbak-kunnr.
   lwa_merged-bname = 1wa_user_addr-bname.
    lwa_merged-xblnr = lwa_vbak-xblnr.
Assgin Material to reporting work area
   lwa_merged-matnr  = lwa_vbap-vbeln.
  Get name of sold-to party from PA_IT_KNA1
    clear lwa_kna1.
    read table pa_it_kna1 into lwa_kna1
                          with key kunnr = lwa_vbak-kunnr
                          binary search.
    lwa_merged-name1 = lwa_kna1-name1.
  Get name of name from vbap
        clear lwa_vbap.
    read table pa_it_vbap into lwa_vbap
                          with key matnr = lwa_vbap-matnr
                          binary search.
    lwa_merged-arktx = lwa_vbap-arktx.
  Get name  from PA_it_user_addr
   clear lwa_user_addr.
   read table pa_it_user_addr into lwa_user_addr
                         with key  = lwa_user_addr-bname
                         binary search.
   lwa_merged-username = lwa_user_addr-name_textc.
  Get business data from PA_IT_VBKD.
    clear lwa_vbkd.
    read table pa_it_vbkd into lwa_vbkd
                          with key vbeln = lwa_vbak-vbeln
                          binary search.
    lwa_merged-fbuda = lwa_vbkd-fbuda.
  Get internal note text for sales order
    perform read_text using '0002'
                            '1'
                            lwa_merged-vbeln
                            'VBBK'
                            lwa_merged-intnote.
  Get header note 1 text for sales order
    perform read_text using 'Z002'
                            '1'
                            lwa_merged-vbeln
                            'VBBK'
                            lwa_merged-hdrnote.
  Determine if change documents exist for sales order.
    clear lwa_cdhdr.
    read table pa_it_cdhdr into lwa_cdhdr
                           with key objectid = lwa_vbak-objectid.
    if sy-subrc ne 0.
      continue.
    endif.
    loop at pa_it_cdhdr into lwa_cdhdr
                        from sy-tabix.
      lwa_merged-username = lwa_cdhdr-username.
      lwa_merged-udate    = lwa_cdhdr-udate.
      lwa_merged-utime    = lwa_cdhdr-utime.
      lwa_merged-tcode    = lwa_cdhdr-tcode.
      clear lwa_cdpos.
      read table pa_it_cdpos into lwa_cdpos
                             with key objectid = lwa_cdhdr-objectid
                                      changenr = lwa_cdhdr-changenr
                             binary search.
      loop at pa_it_cdpos into lwa_cdpos
                          from sy-tabix.
        lwa_merged-tabname   = lwa_cdpos-tabname.
        lwa_merged-tabkey    = lwa_cdpos-tabkey.
        lwa_merged-fname     = lwa_cdpos-fname.
        lwa_merged-chngind   = lwa_cdpos-chngind.
        lwa_merged-value_new = lwa_cdpos-value_new.
        lwa_merged-value_old = lwa_cdpos-value_old.
      Get description for field - determine date element
        clear lwa_dd03l.
        read table lit_dd03l into lwa_dd03l
                             with key tabname   = lwa_cdpos-tabname
                                      fieldname = lwa_cdpos-fname
                             binary search.
        lva_dd03l_tabix = sy-tabix.
        if sy-subrc ne 0.
          select single tabname fieldname as4local as4vers rollname
                 from   dd03l
                 into   lwa_dd03l
                 where  tabname   eq lwa_cdpos-tabname
                 and    fieldname eq lwa_cdpos-fname
                 and    as4local  eq co_as4local_a.
          if sy-subrc eq 0.
            insert lwa_dd03l into lit_dd03l
                             index lva_dd03l_tabix.
          endif.
        endif.
      If data element was found, get description
        if not lwa_dd03l is initial.
          clear lwa_dd04t.
          read table lit_dd04t into lwa_dd04t
                               with key rollname   = lwa_dd03l-rollname
                                        ddlanguage = sy-langu
                               binary search.
          lva_dd04t_tabix = sy-tabix.
          if sy-subrc ne 0.
            select single rollname ddlanguage as4local as4vers scrtext_l
                   from  dd04t
                   into  lwa_dd04t
                   where rollname   eq lwa_dd03l-rollname
                   and   ddlanguage eq sy-langu.
            if sy-subrc eq 0.
              insert lwa_dd04t into lit_dd04t
                               index lva_dd04t_tabix.
            else.
              lwa_dd04t-scrtext_l = 'Description for field not found'.
            endif.
          endif.
        endif.
        lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.
        append lwa_merged to pa_it_merged.
        at end of changenr.
        Only process field changes for this change document.
          exit.
        endat.
      endloop.
      at end of objectid.
      Initialise work area so we know change document for order has
      been processed.
        clear lwa_merged.
      Only process change documents for this sales order.
        exit.
      endat.
    endloop.
  endloop.
endform.                    " merge_data
*&      Form  build_field_catalog
      text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
data:
Local variable
  lva_col_pos   type slis_fieldcat_alv-col_pos,
Local structure
  st_fieldcat   type slis_fieldcat_alv.
  lva_col_pos = 0.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VBELN'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'VBELN'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VKBUR'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'VKBUR'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VKORG'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'VKORG'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'KUNNR'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'KUNNR'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
    st_fieldcat-outputlen = '6'.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'NAME1'.
  st_fieldcat-ref_tabname   = 'KNA1'.
  st_fieldcat-ref_fieldname = 'NAME1'.
  st_fieldcat-row_pos       = '1'.
    st_fieldcat-outputlen = '15'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'MATNR'.
  st_fieldcat-ref_tabname   = 'VBAP'.
  st_fieldcat-ref_fieldname = 'MATNR'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
    st_fieldcat-outputlen = '6'.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'arktx'.
  st_fieldcat-ref_tabname   = 'VBAP'.
  st_fieldcat-ref_fieldname = 'arktx'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
    st_fieldcat-outputlen = '6'.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'SCRTEXT_L'.
  st_fieldcat-ref_tabname   = 'DD04T'.
  st_fieldcat-ref_fieldname = 'SCRTEXT_L'.
  st_fieldcat-row_pos       = '1'.
   st_fieldcat-outputlen = '20'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'UDATE'.
  st_fieldcat-ref_tabname   = 'CDHDR'.
  st_fieldcat-ref_fieldname = 'UDATE'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '10'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'USERNAME'.
  st_fieldcat-ref_tabname   = 'CDHDR'.
  st_fieldcat-ref_fieldname = 'USERNAME'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname       = 'PA_IT_MERGED'.
st_fieldcat-fieldname     = 'FNAME'.
st_fieldcat-ref_tabname   = 'CDPOS'.
st_fieldcat-ref_fieldname = 'FNAME'.
st_fieldcat-row_pos       = '4'.
st_fieldcat-outputlen = '8'.
st_fieldcat-col_pos       = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'CHNGIND'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'CHNGIND'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '8'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'WAERK'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'WAERK'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '5'.
  st_fieldcat-col_pos       = lva_col_pos..
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VALUE_NEW'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'VALUE_NEW'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VALUE_OLD'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'VALUE_OLD'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
endform.                    " build_field_catalog
*&      Form  output_report
      text
form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv
                          pa_it_merged   type ty_it_merged.
Local variables
data:
  lva_formname type slis_formname,
  lva_repid    like sy-repid.
  lva_repid = sy-repid.
  lva_formname = 'ALV_USER_COMMAND'.
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      i_callback_program = lva_repid
      i_callback_user_command = lva_formname
      i_save             = 'A'
      is_variant         = st_variant
      it_fieldcat        = pa_it_fieldcat[]
    tables
      t_outtab           = pa_it_merged
    exceptions
      program_error      = 1
      others             = 2.
endform.                    " output_report
*&      Form  alv_user_command
      text
form alv_user_command using pa_ucomm    like sy-ucomm
                            pa_selfield type slis_selfield.
Local work areas
data:
  lwa_merged type ty_merged.
  clear lwa_merged.
  read table it_merged into lwa_merged
                       index pa_selfield-tabindex.
  case pa_selfield-fieldname.
    when 'VBELN'.
    Contract Number
      set parameter id 'AUN' field lwa_merged-vbeln.
     call transaction 'VA03' and skip first screen.
S_BCE_68001393
when 'USERNAME'.
    Username
      set parameter id 'username' field lwa_merged-username.
      call transaction 'S_BCE_68001393' and skip first screen.
    when 'KUNNR'.
    Customer number
      set parameter id 'KUN' field lwa_merged-kunnr.
      set parameter id 'VKO' field space.
      set parameter id 'VTW' field space.
      set parameter id 'SPA' field space.
      call transaction 'XD03' and skip first screen.
  endcase.
endform.                    " alv_user_command
*&      Form  read_text
      text
form read_text  using    pa_id
                         pa_inline_count
                         pa_name
                         pa_object
                         pa_text.
Local internal tables
data:
  lit_inlines type ty_it_lines,
  lit_lines   type ty_it_lines.
Local work areas
data:
  lwa_lines   type ty_lines.
Local variables
data:
  lva_tdname    like thead-tdname.
  refresh: lit_inlines,
           lit_lines.
  lva_tdname = pa_name.
  call function 'READ_TEXT_INLINE'
    exporting
      id                    = pa_id
      inline_count          = pa_inline_count
      language              = sy-langu
      name                  = lva_tdname
      object                = pa_object
    tables
      inlines               = lit_inlines
      lines                 = lit_lines
    exceptions
      id                    = 1
      language              = 2
      name                  = 3
      not_found             = 4
      object                = 5
      reference_check       = 6
      others                = 7.
  loop at lit_lines into lwa_lines.
    concatenate pa_text
                lwa_lines-tdline
                into pa_text separated by space.
  endloop.
endform.                    " read_text ENDLOOP.

Hi Eswar
According to your instruction I did the modification to add the material no and description but I am unable to get atleast material no seeing below my coding please do some debugging and send to me
report ZCHGDOC_BY_SALES no standard page heading
                          line-size 132.
type-pools:
  slis.                     " ALV types
Tables
tables:
  cdhdr,                    " Change documents: Header
  cdpos,                    " Change documents: Items
  vbak,                     " Sales order: Header
  mara,                     " Material Number
  makt,                     " Material Description
  user_addr,                " User Address
  vbap.                     " Contract order: Items
Types
types:
  begin of ty_cdhdr,
    objectclas like cdhdr-objectclas,     " Object class
    objectid   like cdhdr-objectid,       " Object value
    changenr   like cdhdr-changenr,       " Document change number
    username   like cdhdr-username,       " Changed by
    udate      like cdhdr-udate,          " Changed on
    utime      like cdhdr-utime,          " Changed at
    tcode      like cdhdr-tcode,          " Transaction code
  end of ty_cdhdr,
  ty_it_cdhdr type ty_cdhdr occurs 0,
  begin of ty_cdpos,
    objectclas like cdpos-objectclas,     " Object class
    objectid   like cdpos-objectid,       " Object value
    changenr   like cdpos-changenr,       " Document change number
    tabname    like cdpos-tabname,        " Table name
    tabkey     like cdpos-tabkey,         " Table key
    fname      like cdpos-fname,          " Field name
    chngind    like cdpos-chngind,        " Change indicator
    value_new  like cdpos-value_new,      " New value of field
    value_old  like cdpos-value_old,      " Old value of field
  end of ty_cdpos,
  ty_it_cdpos type ty_cdpos occurs 0,
  begin of ty_dd03l,
    tabname   like dd03l-tabname,
    fieldname like dd03l-fieldname,
    as4local  like dd03l-as4local,
    as4vers   like dd03l-as4vers,
    rollname  like dd03l-rollname,
  end of ty_dd03l,
  ty_it_dd03l type ty_dd03l occurs 0,
  begin of ty_dd04t,
    rollname   like dd04t-rollname,
    ddlanguage like dd04t-ddlanguage,
    as4local   like dd04t-as4local,
    as4vers    like dd04t-as4vers,
    scrtext_l  like dd04t-scrtext_l,
  end of ty_dd04t,
  ty_it_dd04t type ty_dd04t occurs 0,
  begin of ty_kna1,
    kunnr like kna1-kunnr,                 " Customer number
    name1 like kna1-name1,                 " Customer name
  end of ty_kna1,
  ty_it_kna1 type ty_kna1 occurs 0,
   begin of ty_user_addr,
    bname    like user_addr-bname,              " user no
    name_textc like user_addr-name_textc ,      " Username
  end of ty_user_addr,
  ty_it_user_addr type ty_user_addr occurs 0,
  begin of ty_vbap,
    vbeln like vbap-vbeln,                  " Contract number
    posnr like vbap-posnr,                  " Contract item
    matnr like vbap-matnr,                  " Material
    abgru like vbap-abgru,                  " Reason for rejection
    werks like vbap-werks,                  " Plant
    arktx like vbap-arktx,                  " Product description
    maktx like makt-maktx,                  " Production Description
  end of ty_vbap,
  ty_it_vbap type ty_vbap occurs 0,
  begin of ty_mara,
    matnr like mara-matnr,                  " Material
    extwg like mara-extwg,                  " External material group
    mstav like mara-mstav,                  " Blocking reason
    mstdv like mara-mstdv,                  " Blocking reason valid from
  end of ty_mara,
  ty_it_mara type ty_mara occurs 0,
  begin of ty_marc,
    matnr like marc-matnr,                  " Material
    werks like marc-werks,                  " Plant
    mmsta like marc-mmsta,                  " Blocking reason
    mmstd like marc-mmstd,                  " Blocking reason valid from
  end of ty_marc,
  ty_it_marc type ty_marc occurs 0,
  ty_text(500) type c,
  ty_lines type tline,
  ty_it_lines type ty_lines occurs 0,
  begin of ty_merged,
    vbeln     like vbak-vbeln,            " Sales order number
    erdat     like vbak-erdat,            " Created on
    auart     like vbak-auart,            " Order type
    faksk     like vbak-faksk,            " Billing block in SD document
    netwr     like vbak-netwr,            " Net value
    waerk     like vbak-waerk,            " Currency
    vkorg     like vbak-vkorg,            " Sales organisation
    vtweg     like vbak-vtweg,            " Distribution channel
    vkbur     like vbak-vkbur,            " Sales office
    fkara     like vbak-fkara,            " Proposed billing type
    kunnr     like vbak-kunnr,            " Sold-to party
    bname     like vbak-bname ,           " User No
    xblnr     like vbak-xblnr,            " Reference
    fbuda     like vbkd-fbuda,            " Date services rendered
    username  like cdhdr-username,        " Changed by
    udate     like cdhdr-udate,           " Changed on
    utime     like cdhdr-utime,           " Changed at
    tcode     like cdhdr-tcode,           " Transaction code
    tabname   like cdpos-tabname,         " Table name
    tabkey    like cdpos-tabkey,          " Table key
    fname     like cdpos-fname,           " Field name
    chngind   like cdpos-chngind,         " Change indicator
    value_new like cdpos-value_new,       " New value of field
    value_old like cdpos-value_old,       " Old value of field
    scrtext_l like dd04t-scrtext_l,       " Description of field
    intnote   type ty_text,               " Internal note
    hdrnote   type ty_text,               " Header note
    name1     like adrc-name1,            " Sold-to party name
    matnr     like vbap-matnr,            " Material No
    arktx     like  vbap-arktx,
  end of ty_merged,
  ty_it_merged type ty_merged occurs 0,
  begin of ty_vbak,
    vbeln    like vbak-vbeln,             " Sales order number
    erdat    like vbak-erdat,             " Created on
    auart    like vbak-auart,             " Order type
    faksk    like vbak-faksk,             " Billing block in SD document
    netwr    like vbak-netwr,             " Net value
    waerk    like vbak-waerk,             " Currency
    vkorg    like vbak-vkorg,             " Sales organisation
    vtweg    like vbak-vtweg,             " Distribution channel
    vkbur    like vbak-vkbur,             " Sales office
    fkara    like vbak-fkara,             " Proposed billing type
    kunnr    like vbak-kunnr,             " Sold-to party
    xblnr    like vbak-xblnr,             " Reference
    objectid like cdhdr-objectid,         " Change document object
    matnr    like vbap-matnr,
  end of ty_vbak,
  ty_it_vbak type ty_vbak occurs 0,
  begin of ty_vbkd,
    vbeln like vbkd-vbeln,                " Sales order number
    posnr like vbkd-posnr,                " Sales order item
    fbuda like vbkd-fbuda,                " Date services rendered
  end of ty_vbkd,
  ty_it_vbkd type ty_vbkd occurs 0.
Internal tables
data:
  it_cdhdr    type ty_it_cdhdr,
  it_cdpos    type ty_it_cdpos,
  it_fieldcat type slis_t_fieldcat_alv,
  it_kna1     type ty_it_kna1,
  it_user_addr type ty_it_user_addr,
  it_merged   type ty_it_merged,
  it_vbak     type ty_it_vbak,
Material No
  it_vbap     type ty_it_vbap,
  it_mara     type ty_it_mara,
  it_vbkd     type ty_it_vbkd.
data:
  wa_vbak  type ty_vbak.
data:
  st_tvariant  like disvariant,
  st_variant   like disvariant.
constants:
  co_as4local_a           like dd03l-as4local     " Active version
                          value 'A',
  co_objectclas_verkbeleg like cdhdr-objectclas
                          value 'VERKBELEG',
  co_posnr_initial        like vbkd-posnr         " Initial item number
                          value is initial,
  co_posnr_initial_2        like vbap-posnr         " Initial item number
                          value is initial,
  co_save_u               type c                  " User display variant
                          value 'U',              " saving allowed.
  co_trvog_0              like vbak-trvog         " Sales order
                          value '0'.
data:
  va_exit                 type c,                 " ALV display
  va_tabix                like sy-tabix.
selection-screen: begin of block b1 with frame title text-001.
select-options:
" s_vkorg  for vbak-vkorg OBLIGATORY,           " Sales organisation
   s_vkorg  for vbak-vkorg ,           " Sales organisation
   s_vkbur  for vbak-vkbur,            " Sales office
   s_vtweg  for vbak-vtweg,            " Distribution channel
   s_vbeln  for vbak-vbeln,            " Sales order number
   s_kunnr  for vbak-kunnr,            " sold to party
   "s_matnr  for vbap-matnr,            " Material No
   s_usrnme for cdhdr-username,        " Changed by
   s_udate  for cdhdr-udate.           " Changed on
selection-screen: end of block b1,
                  begin of block b2 with frame title text-002.
parameters:
  p_varint like disvariant-variant.   " Display variant.
selection-screen: end of block b2.
Initialization
initialization.
Load display variant.
  if not p_varint is initial.
    move st_variant to st_tvariant.
    move p_varint to st_tvariant-variant.
    call function 'REUSE_ALV_VARIANT_EXISTENCE'
         exporting
              i_save     = co_save_u
         changing
              cs_variant = st_tvariant.
    st_variant = st_tvariant.
  else.
    clear st_variant.
    st_variant-report = sy-repid.
  endif.
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
  call function 'REUSE_ALV_VARIANT_F4'
       exporting
            is_variant = st_variant
            i_save     = co_save_u
       importing
            e_exit     = va_exit
            es_variant = st_tvariant
       exceptions
            not_found  = 2.
  if sy-subrc eq 2.
    message id sy-msgid type 'S'
            number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  else.
    if va_exit eq space.
      st_variant = st_tvariant.
      p_varint = st_tvariant-variant.
    endif.
  endif.
At selection screen
at selection-screen.
Load display variant.
  if not p_varint is initial.
    move st_variant to st_tvariant.
    move p_varint to st_tvariant-variant.
    call function 'REUSE_ALV_VARIANT_EXISTENCE'
         exporting
              i_save     = co_save_u
         changing
              cs_variant = st_tvariant.
    st_variant = st_tvariant.
  else.
    clear st_variant.
    st_variant-report = sy-repid.
  endif.
Start of selection
Extract order details from VBAK
  select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara
         kunnr xblnr
         from  vbak
         into  table it_vbak
         where vkorg in s_vkorg
         and   vkbur in s_vkbur
         and   kunnr in s_kunnr
         and   vbeln in s_vbeln.
  if sy-subrc ne 0.
  No data found for selection
    message s001(zgen).
    exit.
  endif.
  loop at it_vbak into wa_vbak.
    va_tabix = sy-tabix.
    wa_vbak-objectid = wa_vbak-vbeln.
    modify it_vbak from wa_vbak
                   index va_tabix
                   transporting objectid.
  endloop.
Extract  Change data
  select objectclas objectid changenr username udate utime tcode
         from  cdhdr
         into  table it_cdhdr
         for   all entries in it_vbak
         where objectclas eq co_objectclas_verkbeleg
         and   objectid   eq it_vbak-objectid
         and   username   in s_usrnme
         and   udate      in s_udate.
  if sy-subrc eq 0.
    select objectclas objectid changenr tabname tabkey fname chngind
           value_new value_old
           from  cdpos
           into  table it_cdpos
           for   all entries in it_cdhdr
           where fname NE 'CMPRE_FLT'
           and objectclas eq it_cdhdr-objectclas
           and   objectid   eq it_cdhdr-objectid
           and   changenr   eq it_cdhdr-changenr.
  endif.
Extract customer details from KNA1
  select kunnr name1
         from  kna1
         into  table it_kna1
         for   all entries in it_vbak
         where kunnr eq it_vbak-kunnr.
---- Changes are made here -
Extract general material details from MARA
select matnr
from  vbap
        into  table it_vbap
        for   all entries in it_vbap
        where vbeln eq it_vbap-vbeln
        and  matnr eq it_vbap-matnr.
select maktx from makt
        into  table it_vbap
        for   all entries in it_vbak
        where matnr eq it_vbap-matnr.
select MAKTX from MAKT
into table it_vbap  "<<<<<<if you have maktx in the structure
for all entries in it_vbap
where
matnr eq it_vbap-matnr.
select a~matnr  
from vbap as a
    inner join makt as b
    on b~matnr = a~matnr
    into table it_vbap
    for all entries in it_vbak
    where
    a~vbeln eq it_vbak-vbeln.
    "and b~spras eq sy-langu.
   select a~matnr
   from vbap as a
   inner join makt as b
   on bmatnr = amatnr
   into table it_vbap
   for all entries in it_vbak
   where
   a~vbeln eq it_vbak-vbeln.
   "and b~spras eq sy-langu.
Extract general material details from MARA
  select matnr extwg mstav mstdv
         from  mara
         into  table it_mara
         for   all entries in it_vbap
         where matnr eq it_vbap-matnr.
-----------------End of Change ----------------------*
Extract Contract No from vbkd.
  select vbeln posnr fbuda
         from  vbkd
         into  table it_vbkd
         for   all entries in it_vbak
         where vbeln eq it_vbak-vbeln
         and   posnr eq co_posnr_initial.
  perform merge_data tables it_cdhdr
                            it_cdpos
                            it_kna1
                            it_user_addr
                            it_merged
                            it_vbak
                            it_vbap
                            it_vbkd.
  if it_merged[] is initial.
    message s001(zgen).
    exit.
  endif.
Release memory no longer required.
  free: it_cdhdr,
        it_cdpos,
        it_kna1,
        it_user_addr,
        it_vbak,
        it_vbap,
        it_vbkd.
Build field catalog for call to report function
  perform build_field_catalog tables it_fieldcat.
Output report.
  perform output_report tables it_fieldcat
                               it_merged.
*&      Form  merge_data
      text
form merge_data  tables   pa_it_cdhdr  type ty_it_cdhdr
                          pa_it_cdpos  type ty_it_cdpos
                          pa_it_kna1   type ty_it_kna1
                          pa_it_user_addr type ty_it_user_addr
                          pa_it_merged type ty_it_merged
                          pa_it_vbak   type ty_it_vbak
                          pa_it_vbap   type ty_it_vbap
                          pa_it_vbkd   type ty_it_vbkd.
Local internal tables
data:
  lit_dd03l type ty_it_dd03l,
  lit_dd04t type ty_it_dd04t.
Local work areas
data:
  lwa_cdhdr  type ty_cdhdr,
  lwa_cdpos  type ty_cdpos,
  lwa_dd03l  type ty_dd03l,
  lwa_dd04t  type ty_dd04t,
  lwa_kna1   type ty_kna1,
  lwa_user_addr type ty_user_addr,
  lwa_merged type ty_merged,
  lwa_vbak   type ty_vbak,
  lwa_vbap   type ty_vbap,
  lwa_vbkd   type ty_vbkd.
Local variables
data:
  lva_dd03l_tabix like sy-tabix,
  lva_dd04t_tabix like sy-tabix.
Sort Data
  sort pa_it_cdhdr by objectid changenr.
  sort pa_it_cdpos by objectid changenr tabname tabkey fname.
  sort pa_it_kna1  by kunnr.
  sort pa_it_vbap  by matnr.
  sort pa_it_user_addr by bname.
  sort pa_it_vbak  by vbeln.
   sort pa_it_vbkd  by vbeln.
Change here 
loop at pa_it_vbap into lwa_vbap.
   read table pa_it_vbak into lwa_vbak with key vbeln = lwa_vbap-vbeln.
   check sy-subrc eq 0.
   move-corresponding lwa_vbak to lwa_merged.  
End of Changes here  
  endloop.    
  loop at pa_it_vbak into lwa_vbak.
    clear lwa_merged.
  Assign sales order fields to reporting work area
    lwa_merged-vbeln = lwa_vbak-vbeln.
    lwa_merged-erdat = lwa_vbak-erdat.
    lwa_merged-auart = lwa_vbak-auart.
    lwa_merged-faksk = lwa_vbak-faksk.
    lwa_merged-netwr = lwa_vbak-netwr.
    lwa_merged-waerk = lwa_vbak-waerk.
    lwa_merged-vkorg = lwa_vbak-vkorg.
    lwa_merged-vtweg = lwa_vbak-vtweg.
    lwa_merged-vkbur = lwa_vbak-vkbur.
    lwa_merged-fkara = lwa_vbak-fkara.
    lwa_merged-kunnr = lwa_vbak-kunnr.
   lwa_merged-vbeln = lwa_vbap-vbeln.
   lwa_merged-bname = 1wa_user_addr-bname.
    lwa_merged-xblnr = lwa_vbak-xblnr.
Assgin Material to reporting work area
    lwa_merged-matnr  = lwa_vbap-matnr.
  Get name of sold-to party from PA_IT_KNA1
    clear lwa_kna1.
    read table pa_it_kna1 into lwa_kna1
                          with key kunnr = lwa_vbak-kunnr
                          binary search.
    lwa_merged-name1 = lwa_kna1-name1.
  Get name of name from vbap
    clear lwa_vbap.
    read table pa_it_vbap into lwa_vbap
                          with key vbeln = lwa_vbap-vbeln
                          binary search.
    lwa_merged-arktx = lwa_vbap-arktx.
  Get business data from PA_IT_VBKD.
    clear lwa_vbkd.
    read table pa_it_vbkd into lwa_vbkd
                          with key vbeln = lwa_vbak-vbeln
                          binary search.
    lwa_merged-fbuda = lwa_vbkd-fbuda.
  Get internal note text for sales order
    perform read_text using '0002'
                            '1'
                            lwa_merged-vbeln
                            'VBBK'
                            lwa_merged-intnote.
  Get header note 1 text for sales order
    perform read_text using 'Z002'
                            '1'
                            lwa_merged-vbeln
                            'VBBK'
                            lwa_merged-hdrnote.
  Determine if change documents exist for sales order.
    clear lwa_cdhdr.
    read table pa_it_cdhdr into lwa_cdhdr
                           with key objectid = lwa_vbak-objectid.
    if sy-subrc ne 0.
      continue.
    endif.
    loop at pa_it_cdhdr into lwa_cdhdr
                        from sy-tabix.
      lwa_merged-username = lwa_cdhdr-username.
      lwa_merged-udate    = lwa_cdhdr-udate.
      lwa_merged-utime    = lwa_cdhdr-utime.
      lwa_merged-tcode    = lwa_cdhdr-tcode.
      clear lwa_cdpos.
      read table pa_it_cdpos into lwa_cdpos
                             with key objectid = lwa_cdhdr-objectid
                                      changenr = lwa_cdhdr-changenr
                             binary search.
      loop at pa_it_cdpos into lwa_cdpos
                          from sy-tabix.
        lwa_merged-tabname   = lwa_cdpos-tabname.
        lwa_merged-tabkey    = lwa_cdpos-tabkey.
        lwa_merged-fname     = lwa_cdpos-fname.
        lwa_merged-chngind   = lwa_cdpos-chngind.
        lwa_merged-value_new = lwa_cdpos-value_new.
        lwa_merged-value_old = lwa_cdpos-value_old.
      Get description for field - determine date element
        clear lwa_dd03l.
        read table lit_dd03l into lwa_dd03l
                             with key tabname   = lwa_cdpos-tabname
                                      fieldname = lwa_cdpos-fname
                             binary search.
        lva_dd03l_tabix = sy-tabix.
        if sy-subrc ne 0.
          select single tabname fieldname as4local as4vers rollname
                 from   dd03l
                 into   lwa_dd03l
                 where  tabname   eq lwa_cdpos-tabname
                 and    fieldname eq lwa_cdpos-fname
                 and    as4local  eq co_as4local_a.
          if sy-subrc eq 0.
            insert lwa_dd03l into lit_dd03l
                             index lva_dd03l_tabix.
          endif.
        endif.
      If data element was found, get description
        if not lwa_dd03l is initial.
          clear lwa_dd04t.
          read table lit_dd04t into lwa_dd04t
                               with key rollname   = lwa_dd03l-rollname
                                        ddlanguage = sy-langu
                               binary search.
          lva_dd04t_tabix = sy-tabix.
          if sy-subrc ne 0.
            select single rollname ddlanguage as4local as4vers scrtext_l
                   from  dd04t
                   into  lwa_dd04t
                   where rollname   eq lwa_dd03l-rollname
                   and   ddlanguage eq sy-langu.
            if sy-subrc eq 0.
              insert lwa_dd04t into lit_dd04t
                               index lva_dd04t_tabix.
            else.
              lwa_dd04t-scrtext_l = 'Description for field not found'.
            endif.
          endif.
        endif.
        lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.
        append lwa_merged to pa_it_merged.
        at end of changenr.
        Only process field changes for this change document.
          exit.
        endat.
      endloop.
      at end of objectid.
      Initialise work area so we know change document for order has
      been processed.
        clear lwa_merged.
      Only process change documents for this sales order.
        exit.
      endat.
    endloop.
  endloop.
end of loop
endform.                    " merge_data
*&      Form  build_field_catalog
      text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
data:
Local variable
  lva_col_pos   type slis_fieldcat_alv-col_pos,
Local structure
  st_fieldcat   type slis_fieldcat_alv.
  lva_col_pos = 0.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VBELN'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'VBELN'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VKBUR'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'VKBUR'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VKORG'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'VKORG'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'KUNNR'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'KUNNR'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
    st_fieldcat-outputlen = '6'.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'NAME1'.
  st_fieldcat-ref_tabname   = 'KNA1'.
  st_fieldcat-ref_fieldname = 'NAME1'.
  st_fieldcat-row_pos       = '1'.
    st_fieldcat-outputlen = '15'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'MATNR'.
  st_fieldcat-ref_tabname   = 'VBAP'.
  st_fieldcat-ref_fieldname = 'MATNR'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-col_pos       = lva_col_pos.
    st_fieldcat-outputlen = '6'.
  append st_fieldcat to pa_it_fieldcat.
*clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname       = 'PA_IT_MERGED'.
st_fieldcat-fieldname     = 'MATNR'.
st_fieldcat-ref_tabname   = 'MARA'.
st_fieldcat-ref_fieldname = 'MATNR'.
st_fieldcat-row_pos       = '1'.
st_fieldcat-col_pos       = lva_col_pos.
   st_fieldcat-outputlen = '6'.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'SCRTEXT_L'.
  st_fieldcat-ref_tabname   = 'DD04T'.
  st_fieldcat-ref_fieldname = 'SCRTEXT_L'.
  st_fieldcat-row_pos       = '1'.
   st_fieldcat-outputlen = '20'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'UDATE'.
  st_fieldcat-ref_tabname   = 'CDHDR'.
  st_fieldcat-ref_fieldname = 'UDATE'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '10'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'USERNAME'.
  st_fieldcat-ref_tabname   = 'CDHDR'.
  st_fieldcat-ref_fieldname = 'USERNAME'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname       = 'PA_IT_MERGED'.
st_fieldcat-fieldname     = 'FNAME'.
st_fieldcat-ref_tabname   = 'CDPOS'.
st_fieldcat-ref_fieldname = 'FNAME'.
st_fieldcat-row_pos       = '4'.
st_fieldcat-outputlen = '8'.
st_fieldcat-col_pos       = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'CHNGIND'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'CHNGIND'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '8'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'WAERK'.
  st_fieldcat-ref_tabname   = 'VBAK'.
  st_fieldcat-ref_fieldname = 'WAERK'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '5'.
  st_fieldcat-col_pos       = lva_col_pos..
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VALUE_NEW'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'VALUE_NEW'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
  clear st_fieldcat.
  add 1 to lva_col_pos.
  st_fieldcat-tabname       = 'PA_IT_MERGED'.
  st_fieldcat-fieldname     = 'VALUE_OLD'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'VALUE_OLD'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '6'.
  st_fieldcat-col_pos       = lva_col_pos.
  append st_fieldcat to pa_it_fieldcat.
endform.                    " build_field_catalog
*&      Form  output_report
      text
form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv
                          pa_it_merged   type ty_it_merged.
Local variables
data:
  lva_formname type slis_formname,
  lva_repid    like sy-repid.
  lva_repid = sy-repid.
  lva_formname = 'ALV_USER_COMMAND'.
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      i_callback_program = lva_repid
      i_callback_user_command = lva_formname
      i_save             = 'A'
      is_variant         = st_variant
      it_fieldcat        = pa_it_fieldcat[]
    tables
      t_outtab           = pa_it_merged
    exceptions
      program_error      = 1
      others             = 2.
endform.                    " output_report
*&      Form  alv_user_command
      text
form alv_user_command using pa_ucomm    like sy-ucomm
                            pa_selfield type slis_selfield.
Local work areas
data:
  lwa_merged type ty_merged.
  clear lwa_merged.
  read table it_merged into lwa_merged
                       index pa_selfield-tabindex.
  case pa_selfield-fieldname.
    when 'VBELN'.
    Contract Number
      set parameter id 'AUN' field lwa_merged-vbeln.
     call transaction 'VA03' and skip first screen.
S_BCE_68001393
when 'USERNAME'.
    Username
      set parameter id 'username' field lwa_merged-username.
      call transaction 'S_BCE_68001393' and skip first screen.
    when 'KUNNR'.
    Customer number
      set parameter id 'KUN' field lwa_merged-kunnr.
      set parameter id 'VKO' field space.
      set parameter id 'VTW' field space.
      set parameter id 'SPA' field space.
      call transaction 'XD03' and skip first screen.
  endcase.
endform.                    " alv_user_command
*&      Form  read_text
      text
form read_text  using    pa_id
                         pa_inline_count
                         pa_name
                         pa_object
                         pa_text.
Local internal tables
data:
  lit_inlines type ty_it_lines,
  lit_lines   type ty_it_lines.
Local work areas
data:
  lwa_lines   type ty_lines.
Local variables
data:
  lva_tdname    like thead-tdname.
  refresh: lit_inlines,
           lit_lines.
  lva_tdname = pa_name.
  call function 'READ_TEXT_INLINE'
    exporting
      id                    = pa_id
      inline_count          = pa_inline_count
      language              = sy-langu
      name                  = lva_tdname
      object                = pa_object
    tables
      inlines               = lit_inlines
      lines                 = lit_lines
    exceptions
      id                    = 1
      language              = 2
      name                  = 3
      not_found             = 4
      object                = 5
      reference_check       = 6
      others                = 7.
  loop at lit_lines into lwa_lines.
    concatenate pa_text
                lwa_lines-tdline
                into pa_text separated by space.
  endloop.
endform.                    " read_text ENDLOOP.

Similar Messages

  • I cannot install creative cloud after running the cleanup tool can any one help

    I cannot install creative cloud after running the cleanup tool can any one help?

    Hi len@iostudios,
    Please follow the link https://helpx.adobe.com/download-install.html to install creative cloud.
    Incase you have any issue
    Please let us know with the exact error or attach the screenshot if possible.
    Regards

  • I can no longer back up my iphone to my computer on selecting 'sync'. I can back up to iCloud but I get an error message telling me I cannot backup to my Mac. Can any one help? It's driving me crazy!

    I can no longer back up my iphone to my computer on selecting 'sync'. I can back up to iCloud but I get an error message telling me I cannot backup to my Mac. Can any one help? It's driving me crazy!

    Hello joelfromn. charleston,
    It seems you are unable to activate iMessage on a device with no carrier service. The following article provides information regarding activation issues:
    If you get an error when trying to activate iMessage or FaceTime - Apple Support
    Check your device settings
    Make sure that you’re connected to a cellular data or Wi-Fi network. If you're using an iPhone, you'll need SMS messaging to activate your phone number with iMessage and FaceTime. Depending on your carrier, you might be charged for this SMS.
    Go to Settings > General > Date & Time and make sure that your time zone is set up correctly.
    Thank you for contributing to Apple Support Communities.
    Cheers,
    Bobby_D

  • Hi i am getting an error like this while installing Live Cycle Server " The file merge_modules\lc11_common_iam_zip does not exist This file is required sucessfullly run the  Live Cycle Installer.Can any one help me on resolving this issue it would be of g

    Hi i am getting an error like this while installing Live Cycle Server " The file merge_modules\lc11_common_iam_zip does not exist This file is required sucessfullly run the  Live Cycle Installer.Can any one help me on resolving this issue it would be of great help..thanks .

    I think in your situation it would be worth trying the things listed under the event. It does have to do with FRS and it's easy to do. I've used it to fix journal errors after a server unexpectedly restarts and sysvol stops replicating.  I
    could see where it could fix your issue, and if it doesn't, you're out 5 minutes. :)
    The listed registry key does not exist
    Expand HKEY_LOCAL_MACHINE. 
    Click down the key path: 
       "System\CurrentControlSet\Services\NtFrs\Parameters" 
    Double click on the value name 
       "Enable Journal Wrap Automatic Restore" 
     

  • What a crock of crap i tunes is followed instructions to get music off i pod on to new laptop lost 5.2 days of music can any one help

    what a crock of crap i tunes is followed instructions to get music off i pod on to new laptop lost 5.2 days of music can any one help please ?

    The new Apogee Duet for iPad and Mac, is compaible with iOS devices and includes a USB Midi input. This sounds like the perfect solution for your workflow.

  • Part cost   kf values are getting aggregated ......... can any one help me?

    hello gurus....
    iam designing a infocube in which there is a keyfigure 'partcost'.when i execute a query on this infocube, the part cost values  for a particular part id are getting summed up. but the part cost ,whether for single or 100's of parts ,should be the same.
       i dont want these part cost values in the query to be aggregated.  what i should do now. declare this part cost as non cumulative kf or is there any solution for this ?
      i have gone thru the sap help site, but unable to find a solution for this?
       how to declare it as a non cumulative kf ?
      can any one suggest me a with some detailed steps what should be done for this? very urgent . my project deadline is with in 2 days. i will be really thankful to u..

    Hi Lokesh,
          Pls check your post in BI General. part cost  kf values are getting aggregated ......... can any one help me?
    Regards
    Hari
    Message was edited by: Hari Krishnan K

  • I have new I pad 2 and when I get connected to iMac I can't find it detected in I tunes can any one help me

    I have new I pad 2 and when I get connected to iMac I can't find it detected in I tunes can any one help me and i am new to I pad

    If it's not showing on the left-hand sidebar of your Mac's iTunes (if you are on iTunes 11 then you can enable the sidebar via option-command-S) under Devices then see if this troubleshooting article helps : http://support.apple.com/kb/TS1591

  • HT3606 I have Mac OS X version 10.5.8 and so im wondering what is the next step i need to get. i have tried to get snow leopard and other things and not having any lukck . can any one help me out pls.

    I have Mac OS X version 10.5.8 and so im wondering what is the next step i need to get. i have tried to get snow leopard and other things and not having any lukck . can any one help me out pls.

    If your Mac meets these requirements:
    http://support.apple.com/kb/SP575
    then you can order a Snow Leopard disk and install it.
    http://store.apple.com/us/product/MC573Z/A/mac-os-x-106-snow-leopard
    Ciao.

  • TRYING TO DOWNLAOD DIGITAL COPY OF PROMETHEUS ONTO ITUNES. KEEP GETTING AN ERROR MESSAGE OF 5000. CAN ANY ONE HELP?

    TRYING TO DOWNLAOD DIGITAL COPY OF PROMETHEUS ONTO ITUNES. KEEP GETTING AN ERROR MESSAGE OF 5000. CAN ANY ONE HELP?

    (1) Download the Windows Installer CleanUp utility installer file (msicuu2.exe) from the following Major Geeks page (use one of the links under the "DOWNLOAD LOCATIONS" thingy on the Major Geeks page):
    http://majorgeeks.com/download.php?det=4459
    (2) Doubleclick the msicuu2.exe file and follow the prompts to install the Windows Installer CleanUp utility. (If you're on a Windows Vista or Windows 7 system and you get a Code 800A0046 error message when doubleclicking the msicuu2.exe file, try instead right-clicking on the msicuu2.exe file and selecting "Run as administrator".)
    (3) In your Start menu click All Programs and then click Windows Install Clean Up. The Windows Installer CleanUp utility window appears, listing software that is currently installed on your computer.
    (4) In the list of programs that appears in CleanUp, select any iTunes entries and click "Remove", as per the following screenshot:
    (5) Quit out of CleanUp, restart the PC and try another iTunes install. Does it go through properly this time?

  • TS3694 my Iphone 4S is stuck in DFU mode and its not responding connected to Itunes for a restore. I keep getting a 3194 error and 9006. Can any one Help?

    my Iphone 4S is stuck in DFU mode and its not responding connected to Itunes for a restore. I keep getting a 3194 error and 9006. Can any one Help?

    What type of jailbreak was used on it?

  • I have an Imac running snow leopard and have recently installed a cannon i-sensys lbp7750Cdn printer since then I can't get the printer working and the air port has lost the DNS servers; if it ever had them!!! but it dose not look happy. Can any one help

    I have an Imac running snow leopard and have recently installed a cannon i-sensys lbp7750Cdn printer since then I can't get the printer working and the air port has lost the DNS servers; if it ever had them!!! but it dose not look happy and it is telling me so. Can any one help please?

    Snow Leopard breaks quite a few drivers - my Canon exhibited the same problem.
    I eventually found updated drivers on the Canon website. You can try that with the HP, but if the all-in-one is more than a year or so old, don't hold your breath.
    You can also try Software Update to see if it will offer new drivers, or failing that go to the Support Downloads site and search for HP updates.
    In fact there's a new one for HP at the top of the list just now.
    You may not necessarily want the latest one, though - check the specs to see if your model is covered; if not, search for the previous update etc.

  • I AM NOT GETTING THE TAX TAB CAN ANY ONE HELP ME

    HELLO      I AM NEW TO SAP SD WHILE CREATING THE CUSTOMER I HAVE NOT GOT THE TAX OPTION CAN ANY ONE HELP ME

    Hi
    1.Go to OVK4(check tax relevancy data for customer master) and put your tax calculation type eg. MWST-0(tax exempted)
                                                          MWST-1( full tax)
    2.Go to OVK3(check tax relevancy data for material master)
    and put your tax calculation type eg. MWST-0(tax exempted)
                                                          MWST-1( full tax)
    3.Now goto OVK1 and assign country IN to this condition type.
    4.Goto OX10 and assign your plant for tax determinaton.
    hope it helps out
    plz. drop poins in success.
    krishan kumar rai

  • Hello can any one help to get IDES CD'S

    HI ALL
    as i know i am not supposed to post this type of threat in this portal.
    as i am away from INDIA . i don't had any way for my solution.
    i need /help to get IDES on my note book.
    can any one help me how to get those cd's.
    infromation can sent to my id
    my id : [email protected]
    it is urgent
    reward points for helping me out
    cheers
    kishore

    go Google!!! Seeing your track record of posts in this forum, please do some research of yourself before asking questions here. And put some time in your questions! Read the FAQ: http://developers.sun.com/resources/forumsFAQ.html.
    Better questions (questions that have been researched and that are well phrased and provide sufficient knowledge of the problem and the problem area) get better answers.

  • Can any one help i have lost safari on my powerMAC g4 and cant figure out how to get it back  and safari 5 is not supported on my cumputer

    can any one help i have lost safari on my powerMAC g4 and cant figure out how to get it back  and safari 5 is not supported on my computer

    Make sure there's enough free space on the startup disk.
    Right or control click the MacintoshHD icon on your Desktop.
    Click Get Info. In the Get Info window you will see Capacity and Available.
    Make sure there's a minimum of 15% free disk space.
    If there's sufficient disk space, the startup disk may need repairing.
    Launch Disk Utility located in /Applications/Utilities
    Select the startup disk on the left then select the First Aid tab.
    Click Verify Disk  (not Verify Disk Permissions)
    You will need your install disc if the startup disk needs repairing.
    Using Disk Utility to verify or repair disks

  • HT1338 can't get my camera to work with Skype  can any one help  me please

    cant get my camra to work with skype can any one help me please

    You posted in the OS X 10.3 forum instead of the Mac Pro forum. To get answers to your question, next time post in the proper forum. See https://discussions.apple.com/index.jspa  I'll request that Apple relocate your post.
    What OS X version are you using?
     Cheers, Tom

Maybe you are looking for

  • Adobe air won't load, on macbook pro

    I have an early 2011 Macbook pro, all was well till I tried to download latest Mac User on Zinio reader. This worked when I reopened zinio to read it it crashed. Have tried, even took machine to Apple store, all attempts to download adobe air fail. D

  • ZCM11SP1 Patchmanagement issues SR10731894561 SR10733938891

    Hi, We have number is ISSUES with ZCM11SP1a. 1) The Features and not same level as Zenworks Patchmanagement 6.4 which is still working well for us so this move to ZCM11SP1 seem like a backward in years i) Manatroy Groups in ZCM is hopeless nosleep gr

  • Output font looks faded

    When I rendor a form with the "LiveCycle Forms Server" the resulting screen and printed output is darker and slightly larger than the exact same templated generated from Output Server.  Why is that and can anything be done about it? Thanks!!

  • Recover powerbook password

    I donated an old PowerBook (from around 2004) to a school in the Philippines but neglected to retain the password and have no record of it. They can't use it without it. I suggested going in as a Guest but there doesn't seem to be that option. Any wa

  • I can't print in black and white. How do I fix this?

    I have a HP Officejet 6400 and I tried printing a PDF from preview and it doesn't give me the option to print in black and white. Why? How do I fix this?