‎2007 Feb 05 9:57 AM
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
‎2007 Feb 05 10:04 AM
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
‎2007 Feb 05 10:06 AM
Hi Atul,
You can reprocess the IDOC using tcode: BD87.
Regards
Kannaiah
‎2007 Feb 05 10:09 AM
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
‎2007 Feb 05 10:14 AM
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
‎2007 Feb 05 4:58 PM
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)
‎2007 Feb 05 5:06 PM
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
‎2007 Feb 07 2:57 PM