<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Contract Document Report VA45 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302132#M790621</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Piroz&amp;nbsp;&amp;nbsp; will T-code AUT10 hlep you ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps &lt;/P&gt;&lt;P&gt;Anup&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 May 2013 15:16:24 GMT</pubDate>
    <dc:creator>anup_deshmukh4</dc:creator>
    <dc:date>2013-05-24T15:16:24Z</dc:date>
    <item>
      <title>Contract Document Report VA45</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302128#M790617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi  Gurus&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to create a report which will display contract no, old value , new value , user change the price by sales office &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when you type VA45 and select organizational data enter the details and execute the report will display now I want to know who made the changes for the material price for that particular contract no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wrote a program which is displaying changes made by sales number  but I need it by contract number is there any modification to be done please&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report ZCHGDOC_BY_SALES no standard page heading&lt;/P&gt;&lt;P&gt;                          line-size 132.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools:&lt;/P&gt;&lt;P&gt;  slis.                     " ALV types&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables:&lt;/P&gt;&lt;P&gt;  cdhdr,                    " Change documents: Header&lt;/P&gt;&lt;P&gt;  cdpos,                    " Change documents: Items&lt;/P&gt;&lt;P&gt;  vbak,                     " Sales order: Header&lt;/P&gt;&lt;P&gt;  vbap.                     " Sales order: Items&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types:&lt;/P&gt;&lt;P&gt;  begin of ty_cdhdr,&lt;/P&gt;&lt;P&gt;    objectclas like cdhdr-objectclas,     " Object class&lt;/P&gt;&lt;P&gt;    objectid   like cdhdr-objectid,       " Object value&lt;/P&gt;&lt;P&gt;    changenr   like cdhdr-changenr,       " Document change number&lt;/P&gt;&lt;P&gt;    username   like cdhdr-username,       " Changed by&lt;/P&gt;&lt;P&gt;    udate      like cdhdr-udate,          " Changed on&lt;/P&gt;&lt;P&gt;    utime      like cdhdr-utime,          " Changed at&lt;/P&gt;&lt;P&gt;    tcode      like cdhdr-tcode,          " Transaction code&lt;/P&gt;&lt;P&gt;  end of ty_cdhdr,&lt;/P&gt;&lt;P&gt;  ty_it_cdhdr type ty_cdhdr occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_cdpos,&lt;/P&gt;&lt;P&gt;    objectclas like cdpos-objectclas,     " Object class&lt;/P&gt;&lt;P&gt;    objectid   like cdpos-objectid,       " Object value&lt;/P&gt;&lt;P&gt;    changenr   like cdpos-changenr,       " Document change number&lt;/P&gt;&lt;P&gt;    tabname    like cdpos-tabname,        " Table name&lt;/P&gt;&lt;P&gt;    tabkey     like cdpos-tabkey,         " Table key&lt;/P&gt;&lt;P&gt;    fname      like cdpos-fname,          " Field name&lt;/P&gt;&lt;P&gt;    chngind    like cdpos-chngind,        " Change indicator&lt;/P&gt;&lt;P&gt;    value_new  like cdpos-value_new,      " New value of field&lt;/P&gt;&lt;P&gt;    value_old  like cdpos-value_old,      " Old value of field&lt;/P&gt;&lt;P&gt;  end of ty_cdpos,&lt;/P&gt;&lt;P&gt;  ty_it_cdpos type ty_cdpos occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_dd03l,&lt;/P&gt;&lt;P&gt;    tabname   like dd03l-tabname,&lt;/P&gt;&lt;P&gt;    fieldname like dd03l-fieldname,&lt;/P&gt;&lt;P&gt;    as4local  like dd03l-as4local,&lt;/P&gt;&lt;P&gt;    as4vers   like dd03l-as4vers,&lt;/P&gt;&lt;P&gt;    rollname  like dd03l-rollname,&lt;/P&gt;&lt;P&gt;  end of ty_dd03l,&lt;/P&gt;&lt;P&gt;  ty_it_dd03l type ty_dd03l occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_dd04t,&lt;/P&gt;&lt;P&gt;    rollname   like dd04t-rollname,&lt;/P&gt;&lt;P&gt;    ddlanguage like dd04t-ddlanguage,&lt;/P&gt;&lt;P&gt;    as4local   like dd04t-as4local,&lt;/P&gt;&lt;P&gt;    as4vers    like dd04t-as4vers,&lt;/P&gt;&lt;P&gt;    scrtext_l  like dd04t-scrtext_l,&lt;/P&gt;&lt;P&gt;  end of ty_dd04t,&lt;/P&gt;&lt;P&gt;  ty_it_dd04t type ty_dd04t occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_kna1,&lt;/P&gt;&lt;P&gt;    kunnr like kna1-kunnr,                 " Customer number&lt;/P&gt;&lt;P&gt;    name1 like kna1-name1,                 " Customer name&lt;/P&gt;&lt;P&gt;  end of ty_kna1,&lt;/P&gt;&lt;P&gt;  ty_it_kna1 type ty_kna1 occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ty_text(500) type c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ty_lines type tline,&lt;/P&gt;&lt;P&gt;  ty_it_lines type ty_lines occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_merged,&lt;/P&gt;&lt;P&gt;    vbeln     like vbak-vbeln,            " Sales order number&lt;/P&gt;&lt;P&gt;    erdat     like vbak-erdat,            " Created on&lt;/P&gt;&lt;P&gt;    auart     like vbak-auart,            " Order type&lt;/P&gt;&lt;P&gt;    faksk     like vbak-faksk,            " Billing block in SD document&lt;/P&gt;&lt;P&gt;    netwr     like vbak-netwr,            " Net value&lt;/P&gt;&lt;P&gt;    waerk     like vbak-waerk,            " Currency&lt;/P&gt;&lt;P&gt;    vkorg     like vbak-vkorg,            " Sales organisation&lt;/P&gt;&lt;P&gt;    vtweg     like vbak-vtweg,            " Distribution channel&lt;/P&gt;&lt;P&gt;    vkbur     like vbak-vkbur,            " Sales office&lt;/P&gt;&lt;P&gt;    fkara     like vbak-fkara,            " Proposed billing type&lt;/P&gt;&lt;P&gt;    kunnr     like vbak-kunnr,            " Sold-to party&lt;/P&gt;&lt;P&gt;    xblnr     like vbak-xblnr,            " Reference&lt;/P&gt;&lt;P&gt;    fbuda     like vbkd-fbuda,            " Date services rendered&lt;/P&gt;&lt;P&gt;    username  like cdhdr-username,        " Changed by&lt;/P&gt;&lt;P&gt;    udate     like cdhdr-udate,           " Changed on&lt;/P&gt;&lt;P&gt;    utime     like cdhdr-utime,           " Changed at&lt;/P&gt;&lt;P&gt;    tcode     like cdhdr-tcode,           " Transaction code&lt;/P&gt;&lt;P&gt;    tabname   like cdpos-tabname,         " Table name&lt;/P&gt;&lt;P&gt;    tabkey    like cdpos-tabkey,          " Table key&lt;/P&gt;&lt;P&gt;    fname     like cdpos-fname,           " Field name&lt;/P&gt;&lt;P&gt;    chngind   like cdpos-chngind,         " Change indicator&lt;/P&gt;&lt;P&gt;    value_new like cdpos-value_new,       " New value of field&lt;/P&gt;&lt;P&gt;    value_old like cdpos-value_old,       " Old value of field&lt;/P&gt;&lt;P&gt;    scrtext_l like dd04t-scrtext_l,       " Description of field&lt;/P&gt;&lt;P&gt;    intnote   type ty_text,               " Internal note&lt;/P&gt;&lt;P&gt;    hdrnote   type ty_text,               " Header note&lt;/P&gt;&lt;P&gt;    name1     like adrc-name1,            " Sold-to party name&lt;/P&gt;&lt;P&gt;  end of ty_merged,&lt;/P&gt;&lt;P&gt;  ty_it_merged type ty_merged occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_vbak,&lt;/P&gt;&lt;P&gt;    vbeln    like vbak-vbeln,             " Sales order number&lt;/P&gt;&lt;P&gt;    erdat    like vbak-erdat,             " Created on&lt;/P&gt;&lt;P&gt;    auart    like vbak-auart,             " Order type&lt;/P&gt;&lt;P&gt;    faksk    like vbak-faksk,             " Billing block in SD document&lt;/P&gt;&lt;P&gt;    netwr    like vbak-netwr,             " Net value&lt;/P&gt;&lt;P&gt;    waerk    like vbak-waerk,             " Currency&lt;/P&gt;&lt;P&gt;    vkorg    like vbak-vkorg,             " Sales organisation&lt;/P&gt;&lt;P&gt;    vtweg    like vbak-vtweg,             " Distribution channel&lt;/P&gt;&lt;P&gt;    vkbur    like vbak-vkbur,             " Sales office&lt;/P&gt;&lt;P&gt;    fkara    like vbak-fkara,             " Proposed billing type&lt;/P&gt;&lt;P&gt;    kunnr    like vbak-kunnr,             " Sold-to party&lt;/P&gt;&lt;P&gt;    xblnr    like vbak-xblnr,             " Reference&lt;/P&gt;&lt;P&gt;    objectid like cdhdr-objectid,         " Change document object&lt;/P&gt;&lt;P&gt;  end of ty_vbak,&lt;/P&gt;&lt;P&gt;  ty_it_vbak type ty_vbak occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  begin of ty_vbkd,&lt;/P&gt;&lt;P&gt;    vbeln like vbkd-vbeln,                " Sales order number&lt;/P&gt;&lt;P&gt;    posnr like vbkd-posnr,                " Sales order item&lt;/P&gt;&lt;P&gt;    fbuda like vbkd-fbuda,                " Date services rendered&lt;/P&gt;&lt;P&gt;  end of ty_vbkd,&lt;/P&gt;&lt;P&gt;  ty_it_vbkd type ty_vbkd occurs 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  it_cdhdr    type ty_it_cdhdr,&lt;/P&gt;&lt;P&gt;  it_cdpos    type ty_it_cdpos,&lt;/P&gt;&lt;P&gt;  it_fieldcat type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;  it_kna1     type ty_it_kna1,&lt;/P&gt;&lt;P&gt;  it_merged   type ty_it_merged,&lt;/P&gt;&lt;P&gt;  it_vbak     type ty_it_vbak,&lt;/P&gt;&lt;P&gt;  it_vbkd     type ty_it_vbkd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  wa_vbak  type ty_vbak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  st_tvariant  like disvariant,&lt;/P&gt;&lt;P&gt;  st_variant   like disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants:&lt;/P&gt;&lt;P&gt;  co_as4local_a           like dd03l-as4local     " Active version&lt;/P&gt;&lt;P&gt;                          value 'A',&lt;/P&gt;&lt;P&gt;  co_objectclas_verkbeleg like cdhdr-objectclas&lt;/P&gt;&lt;P&gt;                          value 'VERKBELEG',&lt;/P&gt;&lt;P&gt;  co_posnr_initial        like vbkd-posnr         " Initial item number&lt;/P&gt;&lt;P&gt;                          value is initial,&lt;/P&gt;&lt;P&gt;  co_save_u               type c                  " User display variant&lt;/P&gt;&lt;P&gt;                          value 'U',              " saving allowed.&lt;/P&gt;&lt;P&gt;  co_trvog_0              like vbak-trvog         " Sales order&lt;/P&gt;&lt;P&gt;                          value '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  va_exit                 type c,                 " ALV display&lt;/P&gt;&lt;P&gt;  va_tabix                like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen: begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;parameters: s_vkbur like vbak-vkbur.&lt;/P&gt;&lt;P&gt;            "s_vkorg like vbak-vkbur,&lt;/P&gt;&lt;P&gt;            "s_vtweg like vbak-vkbur.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options:&lt;/P&gt;&lt;P&gt; " s_vkbur  for vbak-vkbur,            " Sales office&lt;/P&gt;&lt;P&gt;  "s_vkorg  for vbak-vkorg,            " Sales organisation&lt;/P&gt;&lt;P&gt;  "s_vtweg  for vbak-vtweg,            " Distribution channel&lt;/P&gt;&lt;P&gt;  s_vbeln  for vbak-vbeln,            " Sales order number&lt;/P&gt;&lt;P&gt;  s_usrnme for cdhdr-username,        " Changed by&lt;/P&gt;&lt;P&gt;  s_udate  for cdhdr-udate.           " Changed on&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1,&lt;/P&gt;&lt;P&gt;                  begin of block b2 with frame title text-002.&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;  p_varint like disvariant-variant.   " Display variant.&lt;/P&gt;&lt;P&gt;selection-screen: end of block b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Load display variant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if not p_varint is initial.&lt;/P&gt;&lt;P&gt;    move st_variant to st_tvariant.&lt;/P&gt;&lt;P&gt;    move p_varint to st_tvariant-variant.&lt;/P&gt;&lt;P&gt;    call function 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              i_save     = co_save_u&lt;/P&gt;&lt;P&gt;         changing&lt;/P&gt;&lt;P&gt;              cs_variant = st_tvariant.&lt;/P&gt;&lt;P&gt;    st_variant = st_tvariant.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    clear st_variant.&lt;/P&gt;&lt;P&gt;    st_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for p_varint.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Provide display variant list for this program.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call function 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            is_variant = st_variant&lt;/P&gt;&lt;P&gt;            i_save     = co_save_u&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            e_exit     = va_exit&lt;/P&gt;&lt;P&gt;            es_variant = st_tvariant&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            not_found  = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 2.&lt;/P&gt;&lt;P&gt;    message id sy-msgid type 'S'&lt;/P&gt;&lt;P&gt;            number sy-msgno&lt;/P&gt;&lt;P&gt;            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if va_exit eq space.&lt;/P&gt;&lt;P&gt;      st_variant = st_tvariant.&lt;/P&gt;&lt;P&gt;      p_varint = st_tvariant-variant.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Load display variant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if not p_varint is initial.&lt;/P&gt;&lt;P&gt;    move st_variant to st_tvariant.&lt;/P&gt;&lt;P&gt;    move p_varint to st_tvariant-variant.&lt;/P&gt;&lt;P&gt;    call function 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              i_save     = co_save_u&lt;/P&gt;&lt;P&gt;         changing&lt;/P&gt;&lt;P&gt;              cs_variant = st_tvariant.&lt;/P&gt;&lt;P&gt;    st_variant = st_tvariant.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    clear st_variant.&lt;/P&gt;&lt;P&gt;    st_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Extract order details from VBAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara&lt;/P&gt;&lt;P&gt;         kunnr xblnr&lt;/P&gt;&lt;P&gt;         from  vbak&lt;/P&gt;&lt;P&gt;         into  table it_vbak&lt;/P&gt;&lt;P&gt;         where vkbur eq s_vkbur&lt;/P&gt;&lt;P&gt;        " and   vkorg eq s_vkorg&lt;/P&gt;&lt;P&gt;       "  and   vtweg eq s_vtweg&lt;/P&gt;&lt;P&gt;         and   vbeln in s_vbeln&lt;/P&gt;&lt;P&gt;         and   trvog eq co_trvog_0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  No data found for selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    message s001(zgen).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_vbak into wa_vbak.&lt;/P&gt;&lt;P&gt;    va_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_vbak-objectid = wa_vbak-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify it_vbak from wa_vbak&lt;/P&gt;&lt;P&gt;                   index va_tabix&lt;/P&gt;&lt;P&gt;                   transporting objectid.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select objectclas objectid changenr username udate utime tcode&lt;/P&gt;&lt;P&gt;         from  cdhdr&lt;/P&gt;&lt;P&gt;         into  table it_cdhdr&lt;/P&gt;&lt;P&gt;         for   all entries in it_vbak&lt;/P&gt;&lt;P&gt;         where objectclas eq co_objectclas_verkbeleg&lt;/P&gt;&lt;P&gt;         and   objectid   eq it_vbak-objectid&lt;/P&gt;&lt;P&gt;         and   username   in s_usrnme&lt;/P&gt;&lt;P&gt;         and   udate      in s_udate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select objectclas objectid changenr tabname tabkey fname chngind&lt;/P&gt;&lt;P&gt;           value_new value_old&lt;/P&gt;&lt;P&gt;           from  cdpos&lt;/P&gt;&lt;P&gt;           into  table it_cdpos&lt;/P&gt;&lt;P&gt;           for   all entries in it_cdhdr&lt;/P&gt;&lt;P&gt;           where objectclas eq it_cdhdr-objectclas&lt;/P&gt;&lt;P&gt;           and   objectid   eq it_cdhdr-objectid&lt;/P&gt;&lt;P&gt;           and   changenr   eq it_cdhdr-changenr.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select vbeln posnr fbuda&lt;/P&gt;&lt;P&gt;         from  vbkd&lt;/P&gt;&lt;P&gt;         into  table it_vbkd&lt;/P&gt;&lt;P&gt;         for   all entries in it_vbak&lt;/P&gt;&lt;P&gt;         where vbeln eq it_vbak-vbeln&lt;/P&gt;&lt;P&gt;         and   posnr eq co_posnr_initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform merge_data tables it_cdhdr&lt;/P&gt;&lt;P&gt;                            it_cdpos&lt;/P&gt;&lt;P&gt;                            it_kna1&lt;/P&gt;&lt;P&gt;                            it_merged&lt;/P&gt;&lt;P&gt;                            it_vbak&lt;/P&gt;&lt;P&gt;                            it_vbkd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if it_merged[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    message s001(zgen).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release memory no longer required.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  free: it_cdhdr,&lt;/P&gt;&lt;P&gt;        it_cdpos,&lt;/P&gt;&lt;P&gt;        it_kna1,&lt;/P&gt;&lt;P&gt;        it_vbak,&lt;/P&gt;&lt;P&gt;        it_vbkd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build field catalog for call to report function&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform build_field_catalog tables it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output report.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform output_report tables it_fieldcat&lt;/P&gt;&lt;P&gt;                               it_merged.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  merge_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form merge_data  tables   pa_it_cdhdr  type ty_it_cdhdr&lt;/P&gt;&lt;P&gt;                          pa_it_cdpos  type ty_it_cdpos&lt;/P&gt;&lt;P&gt;                          pa_it_kna1   type ty_it_kna1&lt;/P&gt;&lt;P&gt;                          pa_it_merged type ty_it_merged&lt;/P&gt;&lt;P&gt;                          pa_it_vbak   type ty_it_vbak&lt;/P&gt;&lt;P&gt;                          pa_it_vbkd   type ty_it_vbkd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lit_dd03l type ty_it_dd03l,&lt;/P&gt;&lt;P&gt;  lit_dd04t type ty_it_dd04t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local work areas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lwa_cdhdr  type ty_cdhdr,&lt;/P&gt;&lt;P&gt;  lwa_cdpos  type ty_cdpos,&lt;/P&gt;&lt;P&gt;  lwa_dd03l  type ty_dd03l,&lt;/P&gt;&lt;P&gt;  lwa_dd04t  type ty_dd04t,&lt;/P&gt;&lt;P&gt;  lwa_kna1   type ty_kna1,&lt;/P&gt;&lt;P&gt;  lwa_merged type ty_merged,&lt;/P&gt;&lt;P&gt;  lwa_vbak   type ty_vbak,&lt;/P&gt;&lt;P&gt;  lwa_vbkd   type ty_vbkd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lva_dd03l_tabix like sy-tabix,&lt;/P&gt;&lt;P&gt;  lva_dd04t_tabix like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort pa_it_cdhdr by objectid changenr.&lt;/P&gt;&lt;P&gt;  sort pa_it_cdpos by objectid changenr tabname tabkey fname.&lt;/P&gt;&lt;P&gt;  sort pa_it_kna1  by kunnr.&lt;/P&gt;&lt;P&gt;  sort pa_it_vbak  by vbeln.&lt;/P&gt;&lt;P&gt;  sort pa_it_vbkd  by vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at pa_it_vbak into lwa_vbak.&lt;/P&gt;&lt;P&gt;    clear lwa_merged.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Assign sales order fields to reporting work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lwa_merged-vbeln = lwa_vbak-vbeln.&lt;/P&gt;&lt;P&gt;    lwa_merged-erdat = lwa_vbak-erdat.&lt;/P&gt;&lt;P&gt;    lwa_merged-auart = lwa_vbak-auart.&lt;/P&gt;&lt;P&gt;    lwa_merged-faksk = lwa_vbak-faksk.&lt;/P&gt;&lt;P&gt;    lwa_merged-netwr = lwa_vbak-netwr.&lt;/P&gt;&lt;P&gt;    lwa_merged-waerk = lwa_vbak-waerk.&lt;/P&gt;&lt;P&gt;    lwa_merged-vkorg = lwa_vbak-vkorg.&lt;/P&gt;&lt;P&gt;    lwa_merged-vtweg = lwa_vbak-vtweg.&lt;/P&gt;&lt;P&gt;    lwa_merged-vkbur = lwa_vbak-vkbur.&lt;/P&gt;&lt;P&gt;    lwa_merged-fkara = lwa_vbak-fkara.&lt;/P&gt;&lt;P&gt;    lwa_merged-kunnr = lwa_vbak-kunnr.&lt;/P&gt;&lt;P&gt;    lwa_merged-xblnr = lwa_vbak-xblnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get name of sold-to party from PA_IT_KNA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear lwa_kna1.&lt;/P&gt;&lt;P&gt;    read table pa_it_kna1 into lwa_kna1&lt;/P&gt;&lt;P&gt;                          with key kunnr = lwa_vbak-kunnr&lt;/P&gt;&lt;P&gt;                          binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lwa_merged-name1 = lwa_kna1-name1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get business data from PA_IT_VBKD.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear lwa_vbkd.&lt;/P&gt;&lt;P&gt;    read table pa_it_vbkd into lwa_vbkd&lt;/P&gt;&lt;P&gt;                          with key vbeln = lwa_vbak-vbeln&lt;/P&gt;&lt;P&gt;                          binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lwa_merged-fbuda = lwa_vbkd-fbuda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get internal note text for sales order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform read_text using '0002'&lt;/P&gt;&lt;P&gt;                            '1'&lt;/P&gt;&lt;P&gt;                            lwa_merged-vbeln&lt;/P&gt;&lt;P&gt;                            'VBBK'&lt;/P&gt;&lt;P&gt;                            lwa_merged-intnote.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get header note 1 text for sales order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform read_text using 'Z002'&lt;/P&gt;&lt;P&gt;                            '1'&lt;/P&gt;&lt;P&gt;                            lwa_merged-vbeln&lt;/P&gt;&lt;P&gt;                            'VBBK'&lt;/P&gt;&lt;P&gt;                            lwa_merged-hdrnote.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Determine if change documents exist for sales order.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear lwa_cdhdr.&lt;/P&gt;&lt;P&gt;    read table pa_it_cdhdr into lwa_cdhdr&lt;/P&gt;&lt;P&gt;                           with key objectid = lwa_vbak-objectid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      continue.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at pa_it_cdhdr into lwa_cdhdr&lt;/P&gt;&lt;P&gt;                        from sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lwa_merged-username = lwa_cdhdr-username.&lt;/P&gt;&lt;P&gt;      lwa_merged-udate    = lwa_cdhdr-udate.&lt;/P&gt;&lt;P&gt;      lwa_merged-utime    = lwa_cdhdr-utime.&lt;/P&gt;&lt;P&gt;      lwa_merged-tcode    = lwa_cdhdr-tcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear lwa_cdpos.&lt;/P&gt;&lt;P&gt;      read table pa_it_cdpos into lwa_cdpos&lt;/P&gt;&lt;P&gt;                             with key objectid = lwa_cdhdr-objectid&lt;/P&gt;&lt;P&gt;                                      changenr = lwa_cdhdr-changenr&lt;/P&gt;&lt;P&gt;                             binary search.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at pa_it_cdpos into lwa_cdpos&lt;/P&gt;&lt;P&gt;                          from sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        lwa_merged-tabname   = lwa_cdpos-tabname.&lt;/P&gt;&lt;P&gt;        lwa_merged-tabkey    = lwa_cdpos-tabkey.&lt;/P&gt;&lt;P&gt;        lwa_merged-fname     = lwa_cdpos-fname.&lt;/P&gt;&lt;P&gt;        lwa_merged-chngind   = lwa_cdpos-chngind.&lt;/P&gt;&lt;P&gt;        lwa_merged-value_new = lwa_cdpos-value_new.&lt;/P&gt;&lt;P&gt;        lwa_merged-value_old = lwa_cdpos-value_old.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get description for field - determine date element&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear lwa_dd03l.&lt;/P&gt;&lt;P&gt;        read table lit_dd03l into lwa_dd03l&lt;/P&gt;&lt;P&gt;                             with key tabname   = lwa_cdpos-tabname&lt;/P&gt;&lt;P&gt;                                      fieldname = lwa_cdpos-fname&lt;/P&gt;&lt;P&gt;                             binary search.&lt;/P&gt;&lt;P&gt;        lva_dd03l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;          select single tabname fieldname as4local as4vers rollname&lt;/P&gt;&lt;P&gt;                 from   dd03l&lt;/P&gt;&lt;P&gt;                 into   lwa_dd03l&lt;/P&gt;&lt;P&gt;                 where  tabname   eq lwa_cdpos-tabname&lt;/P&gt;&lt;P&gt;                 and    fieldname eq lwa_cdpos-fname&lt;/P&gt;&lt;P&gt;                 and    as4local  eq co_as4local_a.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;            insert lwa_dd03l into lit_dd03l&lt;/P&gt;&lt;P&gt;                             index lva_dd03l_tabix.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If data element was found, get description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        if not lwa_dd03l is initial.&lt;/P&gt;&lt;P&gt;          clear lwa_dd04t.&lt;/P&gt;&lt;P&gt;          read table lit_dd04t into lwa_dd04t&lt;/P&gt;&lt;P&gt;                               with key rollname   = lwa_dd03l-rollname&lt;/P&gt;&lt;P&gt;                                        ddlanguage = sy-langu&lt;/P&gt;&lt;P&gt;                               binary search.&lt;/P&gt;&lt;P&gt;          lva_dd04t_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;            select single rollname ddlanguage as4local as4vers scrtext_l&lt;/P&gt;&lt;P&gt;                   from  dd04t&lt;/P&gt;&lt;P&gt;                   into  lwa_dd04t&lt;/P&gt;&lt;P&gt;                   where rollname   eq lwa_dd03l-rollname&lt;/P&gt;&lt;P&gt;                   and   ddlanguage eq sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;              insert lwa_dd04t into lit_dd04t&lt;/P&gt;&lt;P&gt;                               index lva_dd04t_tabix.&lt;/P&gt;&lt;P&gt;            else.&lt;/P&gt;&lt;P&gt;              lwa_dd04t-scrtext_l = 'Description for field not found'.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.&lt;/P&gt;&lt;P&gt;        append lwa_merged to pa_it_merged.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        at end of changenr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Only process field changes for this change document.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        endat.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      at end of objectid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Initialise work area so we know change document for order has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      been processed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear lwa_merged.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Only process change documents for this sales order.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        exit.&lt;/P&gt;&lt;P&gt;      endat.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    " merge_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_field_catalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  lva_col_pos   type slis_fieldcat_alv-col_pos,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  st_fieldcat   type slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lva_col_pos = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'VBELN'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'VBAK'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'VKBUR'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'VBAK'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'VKBUR'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '6'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'UDATE'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'CDHDR'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'UDATE'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '10'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'USERNAME'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'CDHDR'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'USERNAME'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '6'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear st_fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; add 1 to lva_col_pos.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-fieldname     = 'FNAME'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-ref_tabname   = 'CDPOS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-ref_fieldname = 'FNAME'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-row_pos       = '4'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-outputlen = '8'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'SCRTEXT_L'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'DD04T'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'SCRTEXT_L'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '30'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'CHNGIND'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'CDPOS'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'CHNGIND'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '8'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'WAERK'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'VBAK'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'WAERK'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos..&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'VALUE_NEW'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'CDPOS'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'VALUE_NEW'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '27'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear st_fieldcat.&lt;/P&gt;&lt;P&gt;  add 1 to lva_col_pos.&lt;/P&gt;&lt;P&gt;  st_fieldcat-tabname       = 'PA_IT_MERGED'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-fieldname     = 'VALUE_OLD'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_tabname   = 'CDPOS'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-ref_fieldname = 'VALUE_OLD'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-row_pos       = '1'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-outputlen = '27'.&lt;/P&gt;&lt;P&gt;  st_fieldcat-col_pos       = lva_col_pos.&lt;/P&gt;&lt;P&gt;  append st_fieldcat to pa_it_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " build_field_catalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  output_report&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv&lt;/P&gt;&lt;P&gt;                          pa_it_merged   type ty_it_merged.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lva_formname type slis_formname,&lt;/P&gt;&lt;P&gt;  lva_repid    like sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lva_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  lva_formname = 'ALV_USER_COMMAND'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      i_callback_program = lva_repid&lt;/P&gt;&lt;P&gt;      i_callback_user_command = lva_formname&lt;/P&gt;&lt;P&gt;      i_save             = 'A'&lt;/P&gt;&lt;P&gt;      is_variant         = st_variant&lt;/P&gt;&lt;P&gt;      it_fieldcat        = pa_it_fieldcat[]&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      t_outtab           = pa_it_merged&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      others             = 2.&lt;/P&gt;&lt;P&gt;endform.                    " output_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  alv_user_command&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form alv_user_command using pa_ucomm    like sy-ucomm&lt;/P&gt;&lt;P&gt;                            pa_selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local work areas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lwa_merged type ty_merged.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear lwa_merged.&lt;/P&gt;&lt;P&gt;  read table it_merged into lwa_merged&lt;/P&gt;&lt;P&gt;                       index pa_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case pa_selfield-fieldname.&lt;/P&gt;&lt;P&gt;    when 'VBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Sales order number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      set parameter id 'AUN' field lwa_merged-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call transaction 'VA03' and skip first screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    when 'KUNNR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      set parameter id 'KUN' field lwa_merged-kunnr.&lt;/P&gt;&lt;P&gt;      set parameter id 'VKO' field space.&lt;/P&gt;&lt;P&gt;      set parameter id 'VTW' field space.&lt;/P&gt;&lt;P&gt;      set parameter id 'SPA' field space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call transaction 'XD03' and skip first screen.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endform.                    " alv_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_text&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form read_text  using    pa_id&lt;/P&gt;&lt;P&gt;                         pa_inline_count&lt;/P&gt;&lt;P&gt;                         pa_name&lt;/P&gt;&lt;P&gt;                         pa_object&lt;/P&gt;&lt;P&gt;                         pa_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lit_inlines type ty_it_lines,&lt;/P&gt;&lt;P&gt;  lit_lines   type ty_it_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local work areas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lwa_lines   type ty_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  lva_tdname    like thead-tdname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  refresh: lit_inlines,&lt;/P&gt;&lt;P&gt;           lit_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lva_tdname = pa_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'READ_TEXT_INLINE'&lt;/P&gt;&lt;P&gt;    exporting&lt;/P&gt;&lt;P&gt;      id                    = pa_id&lt;/P&gt;&lt;P&gt;      inline_count          = pa_inline_count&lt;/P&gt;&lt;P&gt;      language              = sy-langu&lt;/P&gt;&lt;P&gt;      name                  = lva_tdname&lt;/P&gt;&lt;P&gt;      object                = pa_object&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      inlines               = lit_inlines&lt;/P&gt;&lt;P&gt;      lines                 = lit_lines&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;      id                    = 1&lt;/P&gt;&lt;P&gt;      language              = 2&lt;/P&gt;&lt;P&gt;      name                  = 3&lt;/P&gt;&lt;P&gt;      not_found             = 4&lt;/P&gt;&lt;P&gt;      object                = 5&lt;/P&gt;&lt;P&gt;      reference_check       = 6&lt;/P&gt;&lt;P&gt;      others                = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at lit_lines into lwa_lines.&lt;/P&gt;&lt;P&gt;    concatenate pa_text&lt;/P&gt;&lt;P&gt;                lwa_lines-tdline&lt;/P&gt;&lt;P&gt;                into pa_text separated by space.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                    " read_text ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jan 2008 00:03:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302128#M790617</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-30T00:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: Contract Document Report VA45</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302129#M790618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Piroz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Im actually looking for the same thing...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Calibri','sans-serif'; color: #1f497d; font-size: 11pt;"&gt;How can I create a report were I can see if a contract has been changed or cancelled? I use VA45 to see contracts, I would like to run a report to see if there has been any changes on the contracts of if they have been cancelled, thank you soooooo much if you can help me &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/1474/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 08:32:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302129#M790618</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-05-24T08:32:53Z</dc:date>
    </item>
    <item>
      <title>Re: Contract Document Report VA45</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302130#M790619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The CDHDR table has a field TCODE. Maybe when you place VA45 in there when you select from this table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you make a change to the contract (a change you want to catch) and then check the tables CDHDR and CDPOS how this has been recorded ? That's the same way how you should select these changes.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 08:37:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302130#M790619</guid>
      <dc:creator>PeterJonker</dc:creator>
      <dc:date>2013-05-24T08:37:48Z</dc:date>
    </item>
    <item>
      <title>Re: Contract Document Report VA45</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302131#M790620</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter, I assume your responce is for Piroz? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 08:41:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302131#M790620</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-05-24T08:41:18Z</dc:date>
    </item>
    <item>
      <title>Re: Contract Document Report VA45</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302132#M790621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Piroz&amp;nbsp;&amp;nbsp; will T-code AUT10 hlep you ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps &lt;/P&gt;&lt;P&gt;Anup&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 15:16:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/contract-document-report-va45/m-p/3302132#M790621</guid>
      <dc:creator>anup_deshmukh4</dc:creator>
      <dc:date>2013-05-24T15:16:24Z</dc:date>
    </item>
  </channel>
</rss>

