<?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: T code for changing the idoc status in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177257#M462559</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure which transaction code...But you can use the FM IDOC_STATUS_WRITE_TO_DATABASE to change the status..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Apr 2007 21:08:13 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-26T21:08:13Z</dc:date>
    <item>
      <title>T code for changing the idoc status</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177256#M462558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi is there any Tcode to change the idoc status from outbound to inbound or from one status to another status.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 20:48:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177256#M462558</guid>
      <dc:creator>sudhakar196</dc:creator>
      <dc:date>2007-04-26T20:48:37Z</dc:date>
    </item>
    <item>
      <title>Re: T code for changing the idoc status</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177257#M462559</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure which transaction code...But you can use the FM IDOC_STATUS_WRITE_TO_DATABASE to change the status..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Naren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 21:08:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177257#M462559</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T21:08:13Z</dc:date>
    </item>
    <item>
      <title>Re: T code for changing the idoc status</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177258#M462560</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sudhakar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wat is the need to change the idoc status from outbound to inbound or from one status to another status. &lt;/P&gt;&lt;P&gt;where would be helpful? pl answer.&lt;/P&gt;&lt;P&gt;i'm sending a prg, hope it will be helpful..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
&amp;lt;b&amp;gt;Changing an Idoc&amp;#146;s status with an Excel upload&amp;lt;/b&amp;gt; 
 Author: Kevin Wilson

&amp;lt;b&amp;gt;Report Description&amp;lt;/b&amp;gt;: The following report takes an Excel spreadsheet (maximum 2000 rows) with Idoc number in column A and nothing else, uploads it and processes them with a new Idoc status that is entered as input when running the program.

Table of Contents
Main program	1
INCLUDE Z_IDOC_STATUS_CHANGE_DATA	3
Include Z_IDOC_STATUS_CHANGE_FORMS	3

Main program
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  Z_IDOC_STATUS_CHANGE                                        *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; AUTHOR: Kevin Wilson                                                *
*&amp;amp; DESCRIPTION: Reset Idoc statuses by uploading spreadsheet of IDocs  *
*&amp;amp;---------------------------------------------------------------------*

report  z_idoc_status_change message-id zedi.
*--- INCLUDES ---------------------------------------------------------*
include z_idoc_status_change_data.
include z_idoc_status_change_forms.

*--- SELECTION OPTIONS ------------------------------------------------*
selection-screen begin of block b1 with frame title text-001.
parameters: filename like sapb-sappfad.
selection-screen skip.

selection-screen begin of block b2 with frame title text-002.
parameters: status   like edidc-status default '52',
            msgty    like edids-statyp default 'I',
            msgid    like edids-stamid default 'ZEDI',
            msgno    like edids-stamno default '029',
            msgv1    like edids-stapa1 default sy-uname,
            msgv2    like edids-stapa2 default sy-datum,
            msgv3    like edids-stapa3,
            msgv4    like edids-stapa4.
selection-screen end of block b2.
selection-screen end of block b1.

*--- Initialization ---------------------------------------------------*
Initialization.
  filename = 'C:IDocs.xls'.

*--- START OF SELECTION TO DATABASE -----------------------------------*



start-of-selection.
* Check for XLS extension
  if not filename cs '.XLS'.

* You wish to upload an Excel file &amp;amp;. It must have extension .XLS
    message i078 with filename.
    exit.

  else.

    clear: return.
    perform upload_excel tables itab_idocs
                         using  filename
                         changing return.
    if return is initial.

* Confirm action
      clear t_answer.
      call function 'POPUP_TO_CONFIRM'
           exporting
                titlebar              = text-t01
                text_question         = text-t02
                text_button_1         = 'Yes'(t03)
                text_button_2         = 'No'(t04)
                default_button        = '2'
                display_cancel_button = 'X'
           importing
                answer                = t_answer
           exceptions
                text_not_found        = 1
                others                = 2.

      if sy-subrc &amp;lt;&amp;gt; 0.

        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

      else.

        if t_answer = '1'.   "Yes

          format color col_positive.
          write: /5 'Choose to continue.'.
          format color off.
          perform process_idocs tables itab_idocs
                                using  status msgty msgid msgno
                                       msgv1  msgv2 msgv3 msgv4.

        elseif t_answer = '2'.   "No

          format color col_negative.
          write: /5 'Choose not to continue. No records changed'.
          format color off.

        else.   "Cancel

          format color col_negative.
          write: /5 'Choose to cancel. No records changed'.
          format color off.

        endif.

      endif.

    endif.
  endif.

*--- AT SELECTION SCREEN ACTION ---------------------------------------*
At selection-screen on value-request for filename.

  call function 'AL_POPUP_FOR_LOCAL_PATH'
       importing
            filereturn = filename
       exceptions
            others     = 1.
Include Z_IDOC_STATUS_CHANGE_DATA
*----------------------------------------------------------------------*
***INCLUDE Z_IDOC_STATUS_CHANGE_DATA .
*----------------------------------------------------------------------*
*--- TABLES  DEFINITIONS ----------------------------------------------*
tables: edidc.

*--- STRUCTURE  DEFINITIONS -------------------------------------------*
types: begin of itab_idoc_structure,
        docnum like edidc-docnum.
types: end of itab_idoc_structure.

*--- INTERNAL TABLE AND WORK AREA DEFINITIONS -------------------------*
data: itab_idocs type standard table of itab_idoc_structure,
      wa_idocs   type itab_idoc_structure.

*--- VARIABLES --------------------------------------------------------*
data: return like sy-subrc, t_answer.
Include Z_IDOC_STATUS_CHANGE_FORMS
*----------------------------------------------------------------------*
***INCLUDE Z_IDOC_STATUS_CHANGE_FORMS .
*----------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  upload_excel
*&amp;amp;---------------------------------------------------------------------*
* Only handles Excel file upload - Column A has a list of IDoc numbers
* Maximum 2000 IDocs passed
*&amp;amp;---------------------------------------------------------------------*

form upload_excel tables   p_itab_idoc like itab_idocs
                  using    p_filename
                  changing p_return.

  data: file_name like  rlgrap-filename,
        file_type like  rlgrap-filetype,
        itab_excel like alsmex_tabline occurs 0 with header line.

  move p_filename to file_name.
  move 'XLS'      to file_type.

  refresh itab_excel.

  call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
       exporting
            filename                = file_name
            i_begin_col             = 1
            i_begin_row             = 1
            i_end_col               = 1
            i_end_row               = 2000
       tables
            intern                  = itab_excel
       exceptions
            inconsistent_parameters = 1
            upload_ole              = 2
            others                  = 3.
  if sy-subrc &amp;lt;&amp;gt; 0.
    p_return = sy-subrc.
    message i060 with sy-subrc file_name.
  else.
    loop at itab_excel.
      wa_idocs-docnum = itab_excel-value.
      select single docnum into edidc-docnum
        from edidc
        where docnum = wa_idocs-docnum.
      if sy-subrc = 0.
        collect wa_idocs into p_itab_idoc.
        write: /5 'IDoc', wa_idocs-docnum, 'added for processing.'.
      else.
        write: /5 wa_idocs-docnum, 'IGNORED for processing.'.
      endif.
    endloop.
    if sy-subrc &amp;lt;&amp;gt; 0.
      p_return = sy-subrc.
      message i061 with file_name.
    endif.
  endif.

endform.                    " upload_excel
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  process_idocs
*&amp;amp;---------------------------------------------------------------------*
form process_idocs tables   p_itab_idocs like itab_idocs
                   using    p_status
                            p_msgty
                            p_msgid
                            p_msgno
                            p_msgv1
                            p_msgv2
                            p_msgv3
                            p_msgv4.

  data: bdidocstat like bdidocstat occurs 0 with header line.

  loop at p_itab_idocs into wa_idocs.

    refresh bdidocstat.

    bdidocstat-docnum = wa_idocs-docnum.       "IDoc number
    bdidocstat-status = p_status.              "IDoc status
    bdidocstat-msgty  = p_msgty.               "Message type
    bdidocstat-msgid  = p_msgid.               "Message ID
    bdidocstat-msgno  = p_msgno.               "Message number
    bdidocstat-msgv1  = p_msgv1.               "Message variable 1
    bdidocstat-msgv2  = p_msgv2.               "Message variable 2
    bdidocstat-msgv3  = p_msgv3.               "Message variable 3
    bdidocstat-msgv4  = p_msgv4.               "Message variable 4
    append bdidocstat.

    call function 'IDOC_STATUS_WRITE_TO_DATABASE'
         exporting
              idoc_number               = wa_idocs-docnum
              no_dequeue_flag           = 'X'
         tables
              idoc_status               = bdidocstat
         exceptions
              idoc_foreign_lock         = 1
              idoc_not_found            = 2
              idoc_status_records_empty = 3
              idoc_status_invalid       = 4
              db_error                  = 5
              others                    = 6.

    if sy-subrc &amp;lt;&amp;gt; 0.
      format color col_negative.
      write: /10 'IDoc', wa_idocs-docnum, 'had NO status update!'.
      format color off.
    else.
      write: /10 'IDoc', wa_idocs-docnum,
                 'has had it''s status updated'.
    endif.

  endloop.
endform.                    &amp;#147;process_idocs

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanking u, hope u give me answer.&lt;/P&gt;&lt;P&gt;bye...&lt;/P&gt;&lt;P&gt;ajay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2007 02:32:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/t-code-for-changing-the-idoc-status/m-p/2177258#M462560</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-27T02:32:57Z</dc:date>
    </item>
  </channel>
</rss>

