Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

IDoc Status

Former Member
0 Likes
797

Hi

Is it possible to change the status of an IDoc ?

Say, I have an IDoc with status 53, and i want to change the status to 52. Is it possible ?

If yes, how. If no, why ?

Regards

- Atul

7 REPLIES 7
Read only

former_member404244
Active Contributor
0 Likes
734

Hi,

Status 53 means ,its an successful idoc .....so i don't think u require to change to 52..

we can set our own status and can populate the same.Also we can make our own descriptions and generate a idoc status of 51 or 53.For that u need to fill the idoc_status..

please have a look at the code below...

idoc_status-docnum = idoc_contrl-docnum.

idoc_status-msgty = <message type>

idoc_status-msgid = <message class>.

idoc_status-msgno = <message number>

idoc_status-msgv1 = <message description>.

idoc_status-repid = sy-repid.

idoc_status-status = status.

APPEND idoc_status.

Regards,

Nagaraj

Read only

Former Member
0 Likes
734

Hi Atul,

You can reprocess the IDOC using tcode: BD87.

Regards

Kannaiah

Read only

p291102
Active Contributor
0 Likes
734

Hi,

maybe this could be possible in some way without a BPM:

if you can send the IDOC number to a stored procedure (jdbc)

then you can check inside this procedure if the call was ok or not

if it was ok or not call XI (by writing a file with IDOC number from the stored procedure)

then you can just take this file via file adapter and call r3 via systat

but this way you'd only get the DB errors from the stored procedure

if you want to try this out you need to think what should

happen when other errors occur (from JDBC adapter from example)

Thanks,

Shankar

Read only

Former Member
0 Likes
734

hi

<b>1</b>u can reprocess the Idoc using BD87, or if u want to create an new idoc to test with reference to the idoc u have with status 53.. u can use the Program RBDMPP01...

<b>2</b>if u want change the status of the idoc... then gothe purtcular Posting Program or Functionmodule then search for the User-Exit or BAdi..--->there write ur code for u r checks then raise an exception.. so the system will automatically set the status as 51 or some thing..

if can tell the Posting program -->i will serch for the user exit.

Please Close this thread.. when u r problem is solved

Reward if Helpful

Regards

Naresh Reddy K

Read only

Former Member
0 Likes
734

The IDoc status will be set by the first entry in the status table ( of type BDIDOCSTAT) .. So if the first record has field IDOC_STATUS as '51', it is in error i.e application document not posted , if in '53' , it is successful and so on

So insert the required message into the IDoc status table index one

idoc_status-docnum = IDOc number

idoc_status-msgty = <message type>

idoc_status-msgid = <message class>.

idoc_status-msgno = <message number>

idoc_status-repid = sy-repid.

idoc_status-status = status (51 or 53)

Read only

Laxmana_Appana_
Active Contributor
0 Likes
734

Hi,

You can change the Idoc status from 53 to 52 . Check for the standard program in SE38 editor : RC1_IDOC_SET_STATUS.

Pass Idoc number and status details.

Regards

Appana

Read only

Former Member
0 Likes
734

Thanks a lot for all of your answers.