Changing IDOC status

Hello
I wander how to change IDOC status. I know there is an report (or a FM) which changes it but I can  not find it. Could you please hepl me?
Thank you in advance

Hi,
do you mean with a transaction BD87 ? You can modify the idoc and process it ..
regards,
Sandrine

Similar Messages

  • Any FM/methods to update idoc segments without changing idoc status

    Hi All,
    My requirement is a reprocessor program which fills up some fields in the idoc segment before posting. So, after updating the segments, the idoc status should remain as before.
    Is there any function modules or methods to update idoc fields in segments without changing the idoc status?
    I have tried the FMs EDI_DOCUMENT_OPEN_FOR_EDIT, EDI_CHANGE_DATA_SEGMENT and EDI_DOCUMENT_CLOSE_EDIT, but it changes the idoc status.
    Thanks,
    Arun Mohan

    As for FM to do this, i don't know if there are any, but i think you can go directly to the tables with the IDOC data and change them without triggering the changes in status like FM do. Still, i am not sure this is completely true, but you could give it a try. Also, i don't know if this is the best way to do it, because of those legal/audit questions mentioned by Thomas.
    Here is a sample code of a program we have to change a field in a segment of WPUUMS.
    *& Report  YRE00021INTPG
    REPORT  yre00021reppg.
    TABLES: edid4 ,
            edidc ,
            mean .
    * Variaveis Auxiliares
    DATA: t_edidc TYPE edidc OCCURS 0 WITH HEADER LINE.
    DATA: t_edid4 LIKE edid4 OCCURS 0 WITH HEADER LINE .
    DATA: BEGIN OF t_docs OCCURS 0,
            docnum LIKE edidc-docnum ,
          END OF t_docs.
    DATA: wa_e1wpu02 LIKE e1wpu02 .
    DATA: wa_e1wpu03 LIKE e1wpu03 .
    DATA: t_itedidd LIKE edi_dd40 OCCURS 0 WITH HEADER LINE ,
          t_itedidc LIKE edi_dc40 OCCURS 0 WITH HEADER LINE ,
          fw_itedidc LIKE edi_dc40 ,
          fw_itedidd LIKE edi_dc40 .
    DATA: l_matnr TYPE mara-matnr,
          l_tam TYPE i.
    DATA: l_idoc_number TYPE edidc-docnum.
    * Ecran de selecção
    SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_docnum FOR  edid4-docnum ,
                    s_credat FOR  edidc-credat DEFAULT sy-datum ,
                    s_cretim FOR  edidc-cretim .
    PARAMETER:      p_mestyp LIKE edidc-mestyp DEFAULT 'WPUUMS' ,
                    p_status LIKE edidc-status DEFAULT '51' .
    *SELECTION-SCREEN SKIP.
    *PARAMETER:      p_ean11 TYPE mean-ean11.
    SELECTION-SCREEN : END OF BLOCK b1.
    AT SELECTION-SCREEN.
      IF p_status <> '51'.
        MESSAGE e001(yre) WITH 'Apenas pode modificar IDOCS com erro'.
      ENDIF.
      IF p_mestyp <> 'WPUUMS'.
        MESSAGE e001(yre) WITH 'Apenas pode lançar WPUUMS'.
      ENDIF.
    *AT SELECTION-SCREEN ON p_ean11.
    *  SELECT SINGLE * FROM mean WHERE
    *    ean11 = p_ean11.
    *  IF sy-subrc <> 0.
    *    MESSAGE e001(yre) WITH 'Ean não existente'.
    *  ENDIF.
    START-OF-SELECTION.
      SELECT docnum INTO TABLE t_docs FROM edidc
                         WHERE status =  p_status
                         AND   mestyp =  p_mestyp
                         AND   docnum IN s_docnum
                         AND   credat IN s_credat
                         AND   cretim IN s_cretim .
      CHECK sy-subrc = 0 .
      LOOP AT t_docs.
        CLEAR : wa_e1wpu02.
        SELECT * FROM edidc INTO TABLE t_edidc
          WHERE docnum = t_docs-docnum.
        CHECK sy-subrc = 0.
        SELECT * FROM edid4 INTO TABLE t_edid4
                      WHERE docnum = t_docs-docnum AND
                            segnam = 'E1WPU02'.
        CHECK sy-subrc = 0.
        SORT t_edid4 BY segnum.
        LOOP AT t_edid4 .
          wa_e1wpu02 = t_edid4-sdata.
          WRITE wa_e1wpu02-artnr TO l_matnr NO-ZERO.
          CONDENSE l_matnr.
    *      l_tam = STRLEN( l_matnr ).
    *      IF l_tam <= 6.
            SELECT SINGLE ean11 INTO wa_e1wpu02-artnr FROM ytre00004 WHERE
              codcurto = l_matnr.
            IF sy-subrc = 0.
              WRITE : /1 'Código ', l_matnr, ' alterado para ', wa_e1wpu02-artnr.
            ELSE.
              WRITE : /1 'Código ', l_matnr, ' não encontrado na tabela de conversão'.
              CONTINUE.
            ENDIF.
    *        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    *          EXPORTING
    *            input  = p_ean11
    *          IMPORTING
    *            output = wa_e1wpu02-artnr.
    *      ENDIF.
          UPDATE edid4 SET   sdata   = wa_e1wpu02
                       WHERE docnum  = t_edid4-docnum
                       AND   counter = t_edid4-counter
                       AND   segnum  = t_edid4-segnum .
          IF sy-subrc <> 0 .
            ROLLBACK WORK .
            WRITE: / t_edid4-docnum .
          ELSE.
            COMMIT WORK.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    END-OF-SELECTION.

  • Changing idoc status by programs

    when we will go for changing the idoc status code ?? Actually what is the use behind that ?? why we are forcing the system to chagne the status using some program ?? In which situations normally we will do that ?? Is it a valid procedure to do that ?? suppose idoc status is change from 51 to 68 using Program RC1_IDOC_SET_STATUS.
    thanks
    kumar

    Hi pavan! thanks for your reply !
    >>so the users will manually change the idoc instead of changing the legacy file. and chagne the status.
    manually change the idoc means the data of idoc or sth else ?? could you please calrify the same ?? once if you change the status of idoc ...suppose 51 to 68 again you got to run the exteranal program  to proces the idoc ??
    >>then we've schduled a job which will process the edited idocs, so that all idocs will post again with correct data
    Could you please tell me what do you mean by (actually what it is ??) scheduling of a job ??  Is it like that any executable program ?? or you are going to send the new idoc ??
    thanks
    kumar

  • How to change Idoc Status

    Hello Friends,
    How can i change status of Idocs from 02, 51, 64 to below status
    31 for Outbound idocs
    68 for Inbound Idocs
    I have searched the forum, and many people are advising to use BD87 to perform it.
    I have checked BD87 and i am unable to find option to change status to 31 or 68
    There is some thing similar
    BD87 -> Give input and Execute -> Goto -> Transactional RFC -> Convert Idoc Status -> but here there is no option to give final status 31 or 68. Even though i have executed, but status is not changed.
    Can any one please let me know what is correct path (or) any thing wrong ?
    Thank
    Tony

    for inbound run RBDAPP01 / RBDMANI2 depending on status 64 or 51, outbound RBDAGAIN for 02, uncheck background processign at the bottom of the screen, and on the next screen press Delete.

  • How to change the IDOC Status from 30 to 03

    Hi Friends,
    In the Partner Profiles Collect IDOCS option is Selected and the Output mode is 4.
    In my Custom Program i am Using the Function Module MASTER_IDOC_DISTRIBUTE to generate the IDOCs
    I am getting the IDOCs of Status 30.
    then in my Custom Program, I am Submitting the IDOCs to RSEOUT00 program.
    to change the IDOC status from 30 to 03.
      SUBMIT rseout00 USING SELECTION-SCREEN '1000'
                   WITH docnum  IN  gt_range_idocs
                   WITH p_compl EQ 'Y'
                   AND RETURN.
    but still i am not getting the IDOCs of changed status.
    I need to get the Changed IDOC status and if the IDOC status is not changed then I need to generate an Error file for the IDOCs data and send that data to customers as a mail.
    so my requirment is to call the RSEOUT00 in the Custom Program and Change the IDOCs Status to 03.
      When i am Executing the RSEOUT00 Indidually by giving the IDOCs numbers, then the IDOCs Status is going to change to 03 from 30.
    Kindly Guide me how to proceed furthur
    Thanks in Advance,
    Ganesh

    Thanks Shrishit,
    RC1_IDOC_SET_STATUS changing the Status from 30 to 03.
    Its fine, But my Question is will IDOC Data will be reached to XI Server or not.??
    means is the functionality of this Program is same as the RSEOUT00.
    MY job is to change Status from 30 to 03 only
    and then Check the Status of those IDOCs, and if the IDOC is not sended to XI  i.e.;03 status, then I need to send the Details of IDOC (i.e.; data in filed IDOC) to Customer Mail ID through an Attachement.
    I hope you Understood my AIM, why I need to change the Status in my Custom Program only, by submitting IDOCs to this report .
    Kindly waiting for your reply,
    Thanks in Advance,
    Ganesh

  • IDOC  STATUS 29 to 68

    Hi all,
    Customer request is change idoc status from 29 to 68.
    68 = no further processing inbound side
    31 = no further processing outbound side
    if i change status of idoc from 29 to 68 using Fn module IDOC_STATUS_WRITE_TO_DATABASE
    Data of idoc is vanishing.
    I observed that if i change status of idoc from 29 to 31 then there is no data loss in idoc with same Fn module.
    Is there any way to change idoc status from 29 to 68 without losing the Idoc data.
    anyway for both 68 & 31 meanings are same , but customer requires 29 to 68.
    if u have any idea please suggest me.

    Hi Suneel,
    If the program does't exits then try this ...
    DATA: L_EDIDC_TAB       LIKE EDIDC      OCCURS 1 WITH HEADER LINE,
          L_IDOC_STATUS_TAB LIKE BDIDOCSTAT OCCURS 1 WITH HEADERLINE,
          L_IDOC_CONTROL    LIKE EDIDC.
        L_IDOC_STATUS_TAB-DOCNUM = <your IDoc number>.
        L_IDOC_STATUS_TAB-STATUS = '68'.
        APPEND L_IDOC_STATUS_TAB.
        CALL FUNCTION 'IDOC_STATUS_WRITE_TO_DATABASE'
             EXPORTING
                  IDOC_NUMBER               = L_EDIDC_TAB-DOCNUM
             IMPORTING
                  IDOC_CONTROL              = L_IDOC_CONTROL
             TABLES
                  IDOC_STATUS               = L_IDOC_STATUS_TAB
             EXCEPTIONS
                  IDOC_FOREIGN_LOCK         = 1
                  IDOC_NOT_FOUND            = 2
                  IDOC_STATUS_RECORDS_EMPTY = 3
                  IDOC_STATUS_INVALID       = 4
                  DB_ERROR                  = 5
                  OTHERS                    = 6.
    Regards,
    Ferry Lianto

  • Outbound IDoc status set as 31

    Hi Friends,
    I am working on the outbound IDoc interface IDOC_OUTPUT_ORDRSP. I modify/add few segments based on the business conditions using the user-exit EXIT_SAPLVEDC_003 (ZXVEDU15). According to the business need, I have to set the IDoc status record as 31. Now IDoc is being created with status record as 30. Is there any way to set the status record with status 31 within the scope of this IDoc interface IDOC_OUTPUT_ORDRSP.
    Pls let me know if any user exit for this same purpose. If not possible to set status explain me the reason for that.
    Thanks
    Hari

    Hi,
    You can use this standard program RC1_IDOC_SET_STATUS to change IDoc status 30 to another status.
    If the program does't exits then try this ...
    DATA: L_EDIDC_TAB       LIKE EDIDC      OCCURS 1 WITH HEADER LINE,
          L_IDOC_STATUS_TAB LIKE BDIDOCSTAT OCCURS 1 WITH HEADERLINE,
          L_IDOC_CONTROL    LIKE EDIDC.
        L_IDOC_STATUS_TAB-DOCNUM = <your IDoc number>.
        L_IDOC_STATUS_TAB-STATUS = '68'.
        APPEND L_IDOC_STATUS_TAB.
        CALL FUNCTION 'IDOC_STATUS_WRITE_TO_DATABASE'
             EXPORTING
                  IDOC_NUMBER               = L_EDIDC_TAB-DOCNUM
             IMPORTING
                  IDOC_CONTROL              = L_IDOC_CONTROL
             TABLES
                  IDOC_STATUS               = L_IDOC_STATUS_TAB
             EXCEPTIONS
                  IDOC_FOREIGN_LOCK         = 1
                  IDOC_NOT_FOUND            = 2
                  IDOC_STATUS_RECORDS_EMPTY = 3
                  IDOC_STATUS_INVALID       = 4
                  DB_ERROR                  = 5
                  OTHERS                    = 6.
    <b>Reward points</b>
    Regards
    Message was edited by:
            skk

  • How to change the status of IDOCS from 29 status to 53

    Guys
    how to change the status of IDOCS from 29 status to 53
    Thanks in advance

    Hi Krishna
    IDOC_STATUS_CONVERT Use this FM and reward me

  • Need to change the Idoc Status based on the Text in the Idoc

    Hi All,
    I have developed Idoc--SOAP Sync Process Scenario Using BPM and Works Perfectly.
    I have used STATUS.SYSTAT01 Idoc to capture the Response that is comming from the Webservice.
    I have mapped the response Text( Success or Fail) to one of the field in the Response Idoc, this is perfect.
    Requirement:
    1) If the Response Idoc Field receives Success Text means the Idoc Status shld be in Green Status.
    2) If the Respnse Idoc Field Receives FAIL means the Idoc Status shld be in RED Status.
    How can i Do this. please suggest me......
    Regards

    Hi Santhosh,
    YES, I have to Capture the Response from Webservice in SAP R/3 by using STATUS.SYSTAT01 Idoc.
    I have mapped the response from webservice to the one of the field in the Idoc.
    If this field contains Success as text means the Idoc Status in We05 shld be 53 else it shld be 56
    With out changing the FM code, can we use any other process to achieve this???
    @ Mario
    Can u please Allobarate your views more based on my requirement
    Regards

  • IDOC status not changed

    SAP support
    I am not able to change the IDOC status...
    I have also processed the IDOCs many times..
    Guidance required...
    Kamal

    Dear Kamal
    Please check your entry in SM12 an delete it and again reprocess it with the help of Tcode Bd87
    Thanks
    Amit Shivhare

  • Changing IDOC ORDERS05 Status

    I'm modifying IDOC basic type ORDERS05 with an Enhancement. I've created some Z segments and it's ok.
    But I have a field on a Z segment that I want to validate. If this field is blank, I want to set IDOC status as '57' and put a message. The problem is that I'm creating the IDOC with exits of the function IDOC_OUTPUT_ORDERS and I want to create the IDOC with that error status instead of create IDOC and do any changes later on that IDOC.
    Can anyone suggest some ways for solve this problem?
    Thanks everybody,
    Marcelly

    Hi,
    I'm creating the IDOC with exits of the function IDOC_OUTPUT_ORDERS
    But the request is to create the IDOC with error status 51, and if it is possible, set the message as 'Field XXX invalid'.
    I am little confused based on the above two quotes of your's, in the first one you mention that the scenario is an Outbound IDOC and hence "IDOC_OUTPUT_ORDERS", while the second quote mentions having the IDOC status to be "51", now status "51" is for Inbound IDOCs that failed.
    Could you please confirm the actual scenario.
    So, if I raise that exception the IDOC isn't created.
    Presuming that the scenario is outbound, If you want to create an Error IDOC, then just raise the Exception 1: ERROR_MESSAGE_RECEIVED, this should create an IDOC with an error status.
    Regards,
    Chen

  • Change the Status Message description of IDOC

    Hi All,
    As per the requirement, we need to change the Description of the standard IDOC status messages.
    Example:
    STANDARD : Status 51 - Application Document not posted
    DESIRED       : Status 51 - Application Document not posted, can be reprocessed
    We have found the maintenance view to change the same : VEDI_STATS.
    Is it advisable to do so?
    if Yes Why? and if No then Why?
    Note: I'll be changing ONLY description and nothing else.

    Hi,
    I would suggest not to change the status using VEDI_STATS.
    .. if you want to change do it at function module level for each message type. where you can change the idoc status to which ever message you want to.
    Regards,
    Nagaraj

  • Picking status in Out. delivery changed to status A after GR post with MB0A

    Hi,
    I am facing an issue in our production system, these is the scenario:
    - Replenishment delivery
    - ZPicking confirmation idoc sucessfully picked the outbound delivery and post the GI.  The material was cut and it was batch splitted.
    - Then it was performed a GR (mov 101)  against a stock transfer order via MB0A.
    - After this GR posted, the status of picking of the parent material of the batch split was changed from status " " (Not relevant) to status "A" (Not yet processed).
    - Also the status at header level was changed.
    Current status of the delivery
    Header Status
    Picking Confirmation --> B
    Total Gds mvt status --> B
    Item Status
    Item 10:
        Pick confirmation --> A
        Goods movt --> B
    We have tried to reverse the GI to generate it again and reset the statuses but it is not possible to do it via VL09 neither MBST, etc.
    Any idea on how to correct this problem?
    Thanks,

    Hi,
    What is the moment type being taken for PGI through idoc?check the moment type definition for its allowable transactions and foe reverse.
    Regards,

  • IDOC status at 30, but in we05 it is 03

    Hello Gurus!!
    My program generates an IDOC and as soon as the idoc is generated it the status is 03 then i have todo something else.
    Within the program when i am cheking the status is 30 but actually in transaction we05 the status is 03.
    I have cheked the partner profiles and transfer_idocs_immeadiately has already been selected.
    I have already gone thru the forum but no valid solution was given,
    There is no need to change any ALE configurations / port configurations because everything just work fine. It is only that within the program i am not able to catch the status 03. the proram is not waiting untill the idoc status is 03. it is capturing only the status 30.
    Is there any thing that i can do within the program? should i capture the idoc number and then check the idoc status from EDID4?
    Please answer o this questions ASAP.
    Regards.

    Initially when you create the outbound idocs then status is 30. then you have to run the program RSEOUT00 to process the idoc then after the processing the status changes to 03.
    But the Program RSEOUT00 is optional. In the partner profile (WE20) If you select the option  'Collect Idocs', then you have to schedule the program RSEOUT00 to process the Idocs otherwise if you have choose the option 'Transfer idoc immediately', you don't need to do anything.
    Thanks,
    Srinivas

  • To change user status profile on sales order at run time.

    Hi Experts,
    We have defined status profile for Sales returns ( Doc type RE) which blocks the  return order on creation. There are two statuses here which are to remove the delivery block and to remove the billing block by authorised users.
    The requirement is now to have a three level block ( three statuses ) on the same document. We can create a new status profile and assign it to a new return sales order tpye  but we want to avoid creating new document types. Since this document type is used across various companies in the group we can not assign a new profile on the existing RE document as well.
    My question to all experts is
    Is it possible to dynamically change the status profile assigned to the document type based on characterstics like sales org or company code etc? If any body has done this please let me know the user exit , function module, BADI etc where the necessary coding has been done.
    Helpful answers will be rewarded with points.
    I look forward to your co operation.
    Regards,
    Kartik Shah

    Hi Liam,
    In the Program MV45AFZZ in the FORM userexit_save_document
    you use the following fn module to change the user status
    'STATUS_CHANGE_EXTERN'
    Example
    IF t180-trtyp = 'H'.  "Only creation time
      READ TABLE xvbap WITH KEY matnr = c_matnr.
      IF sy-subrc = 0.  "If above material exist then change status
        LOOP AT xvbap WHERE cuobj NE space
                       AND  matnr =  c_matnr.
          l_objnr = xvbap-objnr.
          CALL FUNCTION 'STATUS_CHANGE_EXTERN'
            EXPORTING
              objnr               = l_objnr
              user_status         = 'E0013'  "Send ej IDOC
              set_chgkz           = 'X'
            EXCEPTIONS
              object_not_found    = 1
              status_inconsistent = 2
              status_not_allowed  = 3
              OTHERS              = 4.
        ENDLOOP.
      ENDIF.
      sy-subrc = 0.  "Restore the previous condition
    ENDIF.
    Reward if helpful *********

Maybe you are looking for

  • Exception created : flex.messaging.security.SecurityException

    Hi , The message below keep appearing in the systemout.log file. Any idea? 00002ca4 webcontainer  E com.ibm.ws.webcontainer.WebContainer handleRequest SRVE0255E: A WebGroup/Virtual Host to handle / has not been defined. 00002ca4 servlet       E com.i

  • Apple Mobile Service must be started to recognize I-Phone?

    Just downloaded I-Tunes latest version for Windows. I took over my wifes I-Phone 3 and in USB connecting get "This I-phone cannot be used because Apple Mobile Device Service has not been started?" How do I fix this?

  • Displaying percentages on pie chart

    hi All, I am displaying a pie chart to show some data based on some calculations. Its a simple 2-D pie chart. I want to be able to display the percentage on the different parts of the pie chart. I tried using the label property of the series as well

  • Patch Best Practice.

    I need the best practice in applying support packs in a system with heaps of customization and advanced corrections. Whats the best option? 1.)  Apply patches -> revert all notes and customization to original in SPAU-> re-apply all needed customizati

  • Google Custom Search on my .Mac webpage

    Hi I put a HTML snippet from Google's Custom Search in my iWeb page but do not get any results. I read about registering the .Mac pages in the Google search index in other posts. Is this also needed for the Custom Search? Thanks, Tim