Unable to get Material No and Description from VBAP

Advertisement

Hi Gurus
Can anyone please help me to get material number and description from vbap table, The report is fine but I am unable to get material no and description.
regards
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 -
Extract Material details from vbap
  select matnr arktx
         from  vbap
         into  table it_vbap
         for   all entries in it_vbak
         where
         vbeln eq it_vbak-vbeln
          and   posnr eq co_posnr_initial.
-----------------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  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 Material Data
  clear lwa_vbap.
    read table pa_it_vbap into lwa_vbap
                         with key matnr = lwa_vbap-matnr
                            with key vbeln = lwa_vbak-vbeln
                          binary search.
    lwa_merged-arktx = lwa_vbap-arktx.
  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     = '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 = '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     = 'VALUE_OLD'.
  st_fieldcat-ref_tabname   = 'CDPOS'.
  st_fieldcat-ref_fieldname = 'VALUE_OLD'.
  st_fieldcat-row_pos       = '1'.
  st_fieldcat-outputlen = '20'.
  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.

Advertisement

Hi
As per your code here:
"-------------- Changes are made here ----------------
*Extract Material details from vbap
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial.   " Here the condition specifies you want to select sales order items where there is no item number, which i beleive shouldnt be the case
" -----------------End of Change ----------------------
Try as below by commenting the Item Number is INITIAL condition:
select matnr arktx
   from vbap
   into table it_vbap
   for all entries in it_vbak
   where
   vbeln eq it_vbak-vbeln.
"and posnr eq co_posnr_initial.
Regards
Eswar

October 11, 2015

Unable to get Material No and Description from VBAP

Hi Gurus Can anyone please help me to get material number and description from vbap table, The report is fine but I am unable to get material no and description. regards report ZCHGDOC_BY_SALES no standard page heading                           line-

HT1848 how do i get my apps and music from my ipod to my iphone

how do i get my apps and music from my ipod touch to my iphone?????????Either click here and follow the instructions, or follow those in the article you asked this question from and then sync the iPhone with that iTunes library. (82400)Read other 2 a

How can i know who get my photos and messages from my icloud???

How can i know who get my photos and messages from my icloud???Nobody, except the persons who have your username and password or with whom you share photos streams would be able to see anything from you.Read other 2 answers

How to Get project definition and description  by WBS element

Hi All, Is there any way to get  project definition and description  by providing WBS element. Please help . Salman ZahirHi, These r the tables PRHI Work Breakdown Structure, Edges (Hierarchy Pointer) PROJ Project definition PRPS WBS (Work Breakdown

How to get my photos and music from my iphone to my hp laptop without having windowed on my laptop

i just got anew hp laptop.  it does not have windows.  I want to be able to link my iphone with my laptop but don't know how.  want to be able to get my photos and music from my phone to my laptop and be able to load music on to my ipod. Is this poss

How to get customer number and name from the SD document

Hi All, Can you please let me know how to get Customer Number and Name from the SD Document? Thanks a lot.... AnilHi, It will be displayed in the SD (BIlling document) itself,  you clikc on the VF03. The customer name and number will also appear in t

I recently had to re-install Outlook on my laptop. How do I get my calendar and contacts from my phone to my Outlook?

i recently had to re-install Outlook on my laptop. How do I get my calendar and contacts from my phone to my Outlook?Syncing to a "New" Computer or replacing a "crashed" Hard Drive: Apple Support CommunitiesRead other 2 answers

Get the date and time from iframe.

Hi, Am using jdeveloper 11.1.1.6.0., I have used the following iframe source which gets the date and time. <af:form> <iframe src="http://free.timeanddate.com/clock/i3xb4nm0/n1722/tt0/tw0/ts1" frameborder="0" width="244&qu

I cannot get into facebook and icloud from my settings, help

Can someone help me. For some reason my Facebook, Icloud, Messages, and Facetime are not accessible from my general settings on my Ipad. This limits me getting my games on facebook etc. Why is this? Is it a password issue? Do I have to reset my Ipad

Getting the date and time from NIST server

I need to be able to get the date and time in an app and cannot trust the device's clock since the user could change it. Has anyone got an example of how to access an Internet time server such as the NIST servers from AIR for iOS?What is the best way

I just switched my phone to a samsung galaxy 3 how can i get my contacts and pictures from Icloud

i need help how can i get my contacts and photos on my new phone it is a samsung galaxy 3Check whether Samsung have any apps for that.Read other 2 answers

HT201269 how do i get my music and games from my iPod to my iPad mini?

I want to learn how to transfer my games and music from my 32 gb iPod to 32 gb iPad.You can copy iTunes purchases from your iPod to your computer's iTunes via File > Transfer Purchases (File > Devices > Transfer Purchases on iTunes 11) - if you h

Get all tags and attributes from schema

Mapping question I have a mapping requirement where the customer needs all the tags and attributes from the schema whether it has a value or not. The schema has almost 1500 tags and each of them has a attribute. We are mapping only about 50 of them,

Problem Getting Error Code and Description in Alerts

We are having trouble getting the Error code and Error description in the Alerts and we're having trouble getting a alert for message mapping exceptions.  I have read through the BLOGs and the help on SAP.  I'm not sure it is something to do with the

HT1688 i jugot an i 5 and need to know hoe to get my info and files from my 3gs,,,,please HELP,,,,not computer literate

please help I just purchased an I phone 5 and I cant figure out how to get my files from my 3gs. I'm not very computer literate, please helpYou should have been syncing your iphone with your computer regularly. iOS: Transferring information from your

How do i get my pictures and videos from my phone to my pc

How do i get my pictures from my i phone 4s on to my pc my i cloud is full and i want to store them on my pc Thanksimporting http://support.apple.com/kb/HT4083Read other 2 answers

My daughter has locked herself out of her ipod touch.  Ironically the computer it is synced to just crashed, is it possible to get her up and running from another computer?

My daughter set a password and forgot it, she has locked herself out of her ipod touch.  The computer the ipod was synced w/ has crashed, is it possible to restore her settings from another computer?Place the iOS device in Recovery Mode and then conn

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

I found an old iPod classic of mine.  It's not synced to my new MacBook Pro.  How can I get the music and photos off of it and on to my new computer?  When I plug it in to my new computer it wants to erase what is on it and transfer from my new computer.

I found an old iPod classic of mine that is synced to a computer that is long gone.  I want to get the music and photos from this old iPod onto my new computer.  Every time I hook the iPod up to my new computer it wants to delete what is on the iPod

How to get Client ID and Client Secret for Office App for Word which accessing SharePoint Online

we currently implementing an Office App for MS Word which access SharePoint list and get data from lists. Our aim is any user can get this app from Office App store and enter their SharePoint URL and browse their own SharePoint lists and use those. W