How to get an idoc?

Hi gurus:
    When i change a record in R/3,how can i get the record's idoc?
alex zhang

hi
U can use Change pointers:
<b> ALE Change Pointers</b>
Applications which write change documents will also try to write change pointers for ALE
operations. These are log entries to remember all modified data records relevant for ALE.
Most applications write change documents. These are primarily log entries in the
tables CDHDR and CDPOS.
Change documents remember the modified fields made to the database by an
application. They also remember the user name and the time when the modification
took place.
The decision whether a field modification is relevant for a change document is
triggered by a flag of the modified field’s data element. You can set the flag with
SE11 by modifying the data element.
For the purpose of distributing data via ALE to other systems, you may want to
choose other fields, which shall be regarded relevant for triggering a distribution.
Therefore R/3 introduced the concept of change pointers, which are nothing else
than a second log file specially designed for writing the change pointers which are
meant to trigger IDoc distribution via ALE.
So the change pointers will remember the key of the document every time when a
relevant field has changed.
Change pointers are then evaluated by an ABAP which calls the IDoc creation, for
every modified document found in the change pointers.
The Change pointers are written from the routine CHANGEDOCUMENT_CLOSE
when saving the generated change document. So change pointers are automatically
written when a relevant document changes.
The following function is called from within CHANGEDOCUMENT_CLOSE in
order to write the change pointers.
<b>CALL FUNCTION 'CHANGE_POINTERS_CREATE'</b>
EXPORTING
change_document_header = cdhdr
TABLES
change_document_position = ins_cdpos.
Change pointers are log entries to table BDCP which are written every time a transaction
modifies certain fields. The change pointers are designed for ALE distribution and written by
the function CHANGE_DOCUMENT_CLOSE.
Change pointers are written for use with ALE. There are ABAPs like RBDMIDOC
which can read the change pointers and trigger an IDoc for ALE distribution.
The change pointers are mainly the same as change documents. They however can
be set up differently, so fields which trigger change documents are not necessarily
the same that cause change pointers to be written.
In order to work with change pointers there are two steps to be performed
• Turn on change pointer update generally
• Decide which message types shall be included for change pointer update
R3 allows to activate or deactivate the change pointer update. For this purpose it
maintains a table TBDA1. The decision whether the change pointer update is active
is done with a
<b>Function Ale_Component_Check</b>
Currently (release 40B) this check does nothing else than to check, if this table has
an entry or not. If there is an entry in TBDA1, the ALE change pointers are generally
active. If this table is empty, change pointers are turned off for everybody and
everything, regardless of the other settings.
The two points read like you had the choice between turning it on generally or
selectively. This is not the case: you always turn them on selectively. The switch to
turn on generally is meant to activate or deactivate the whole mechanism.
The change pointers which have not been processed yet, can be read with a function
module.
<b>Call Function 'CHANGE_POINTERS_READ'</b>
The ABAP RBDMIDOC will process all open change pointers and distribute the
matching IDocs.
<b>Dispatching ALE IDocs for Change Pointers</b>
Change pointers must be processed by an ABAP, e.g. RBDMIDOC.
The actual distribution of documents from change pointers must be done by an
ABAP, which reads the change pointers and processes them. The standard ABAP
for that is RBDMIDOC. For recurring execution it can be submitted in a scheduled
job using SM35 .
<b>Reward points for helpful ans.</b>
Regards
Aarti

Similar Messages

  • How to get inbound idoc in xi

    Hi experts,
    Please tell how to get idoc number in xi. scenario is third party-- xi-- ECC. file to idoc scenario.
    I have some mising PO in ECC side.
    Can you please tell the corresponding ioc number found in XI which is found in ECC.

    Hi,
    the IDoc no will be created in the ERP, not at PI. Therefore you cannot pick it up at PI.
    As Neethu recommended, copy instead the PI msg ID from details tab of control record and use it for msg selection at PI (SXMB_MONI)
    Regards,
    Udo

  • How to get the IDOC name attached with message type (IDoc at receiver end)

    Hello Friends,
    I have configured the Order Confirmation Idoc.And the port used is XML_HTTP. in this port generally the idocs are sent to a java servlet.
    So there the idocs are being created with name  :- Idoc_no.XML
    but i need to get the IDoc name prefixed or attached with the message type name, that the particular idoc uses.
    waiting for your replies .
    thanks,
    jeevan

    Hi Jeevan,
    I am sorry for the confusion, the solution i provided is used when we go for XML FILe port. But when we go for XML HTTP port, this option is not available in SAP. So we need to check with the target system, whether there is any option available to read the file contents before saving , so that we can save the idoc with the required file name .
    With my knowledge i assume why this option is not there for XML HTTP port is when we use XML HTTP port the idoc will be converted into XML and will be transported over HTTP protocol to an remote system which may be any type like XI, Java Servlet, Business connector, .Net etc. So in that case all the systems may not support the file name what we propose from the SAP. This is my assumption.
    Please go through the help provided by SAP for XML Port types
    http://help.sap.com/saphelp_nw04/helpdata/en/21/e9c975eb1911d6b2ea00508b6b8a93/frameset.htm
    Please check with the Java guys who are working at the target end, whehter they may help you to resolve.
    Thanks & Regards
    Vijayanand Poreddy

  • How to get latest Idoc no.

    Hi,
    I need to get the latest Idoc no created in the system.
    I do understand that in production enviromnet an idoc can be generated every second. Please can anybody suggest me any way to get the latest idoc no.
    <REMOVED BY MODERATOR>
    Thanks.
    Aafaque Husain.
    Edited by: Alvaro Tejada Galindo on Feb 18, 2008 12:34 PM

    Hi Mate,
                 You can go to WE02 transaction and run the transaction for todays date. Then you can see all the Idocs generated for today including the latest one.
    Regards.
    Raghav

  • How to get Alert IDOC fails in WE02?

    Hi all,
    Iam working FILE-XI-IDOC senario were client need to trigger an alert or any message if IDOC fails to post the data.
    Manually we have to go and check in WE02,but with out looking there client want to know the error.Is it possible? if yes then how?
    Regards,
    Phani

    Hi Phani
    Normally you should set up the CCMS Monitoring on the receiving SAP Backend.
    Find more information under
    http://help.sap.com/saphelp_nw04/helpdata/en/90/c4b523c4c411d2a5ee0060087832f8/frameset.htm
    Here you should also find possibilities to set up a mail in case of errors.
    Regards Oliver

  • How to get IDOC schema in XML

    Please tell me how to get an Idoc schema into XML from SAP.
    I want all the details of an Idoc, i.e Segments and fields in one file.
    Quick response will be appriciated.
    Thanks
    Kiran

    WE60 enter the IDoc type then menu path Documentation->XML Schema. This may depend on what version of SAP you are on.

  • How to get IDOC #, If I know the sales order #? I tried in SE37 with*NEIGH*

    Hi Experts,
    I hv a sales order #, say, my_order.........its created from a IDOC via FM of IDOC_INPUT_ORDERS and message is ORDERS.
    So, let me know that, If I know the slaes order #, my_order, How to get its associated IDOC #?
    In SE37, I searched with key word NEIGHBOUR .........but, did not find any result!!
    thanq

    i went to WE05, and did looked all, in the 60days!!
    thanq

  • How to get structure of IDOC into xi in the scenario is IDOC - XI - File

    hi XI Guys,
          When i want to Integrate SAP sys(IDOC) with File how to get structure of IDOC into XI, As we will define Data types in File -> XI -> File. Please send Step by Step process as i am new to Netweaver(XI)
    ThankYou,
    B.Pushparaju.

    When i want to Integrate SAP sys(IDOC) with File how to get structure of IDOC into XI
    >>>>
    import the IDoc under the imported object in your SCV. Note that import should be allowed for the SCV.
    As we will define Data types in File -> XI -> File.
    >>>>
    Ref. these blogs to help you out ..
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2

  • How to get IDoc number using sdata records

    Hi Experts,
    I have executed a report program in background. Its generating few IDoc's. I can view those idoc's in WE05 also. But now i want to display those idoc number in the result output of the report. One of the segment having materrial number and plant details in the IDoc. Using this details i want to display the IDoc number in the output screen. Even i have tried with EDID4 table its taking huge time to get a single IDoc. Is there is any simplest way is there to get those idoc's .
    Otherwise how to achive this?
    Thanks and Regards,
    Mohana

    Hi,
    1.)If you want the ouput in the same report program which triggers the idoc, it is better to use the control record information.
    You will get IDoc Number from XEDIDC(check the below code) and you can store the idoc number into an internal table if more idoc is expecting to be triggered.
         call function 'MASTER_IDOC_DISTRIBUTE'
              exporting
                MASTER_IDOC_CONTROL        = EDIDC
              tables
                COMMUNICATION_IDOC_CONTROL = XEDIDC
                MASTER_IDOC_DATA           = XEDIDD
              exceptions
                others                     = 5.
       read table xedidc index 1.
      append xedidc-docno to it_docno.
    And finallly use this to display in the output.
    2.) if u want it in a seperate report, then select based on date, idoctype, messagetype
    Regards,
    Sajith

  • How to get Get IDOC Number for Inbound IDOCS

    Hi,
    I am using the FM -- IDOC_INPUT_HRMD for creating Inbound IDOCS.
    I populate the values for Control Record and Data Record and the IDOC is posted successfully and i get the status 53 in the status Table.
    But the problem is the field for IDOC number(DOCNUM in IDOC_STATUS Table of the FM ) is empty.
    How can i get the DOCNUM for the IDOC posted as a result of this FM ?
    regards,
    Siddhartha

    Hi Siddhartha,
    I think you cannot call IDOC_INPUT_HRMD fm directly from the external program as this fm only handles the application logic part and not the idoc number generation and save part.
    So I think you have to call IDOC_INBOUND_SINGLE from your external program and then get the IDOC number.
    Then if you need the status records then you need to call another fm and feed IDOC number that you have got from IDOC_INBOUND_SINGLE (there is one IDOC_READ_COMPLETELY but it is not a remote enabled fm)
    <b>OK, I just found one RFC enabled fm which you can use,
    <b>EDI_DOCUMENT_READ_ALL_STATUS</b></b>
    Hope this helps..
    Sri
    Message was edited by: Srikanth Pinnamaneni

  • How to get confirm whether idoc reached receiver or not?

    hi pals,
    I want to know how to confirm whether idoc is reached the receiver system or not?
    how to find the idoc no in case of idoc failure in sxmb_moni or any tcode for that?
    i am looking in terms of sap production systems
    thanks
    Ruban

    ruban,
    It is impossible to know the IDoc number in XI system as in this case IDoc is posted in the target system. Here, IDoc gets posted into target SAP system, and while generation of IDoc in target, at runtime IDoc is generated.
    To find in XI whether the IDoc has been received or not, you can configure BPM where in a SEND step is configured in the block for which exception branch is defined. And in the exception branch you set 'ThrowAlert' to send an email to recipients.
    After triggering the message go to SXI_MONITOR where in you can see its process engine to see whether exception branch is routed. Then you can understand that IDoc did not go to target and otherwise it has gone.
    Regards,
    Suraj Kumar

  • How to get know the Sales Order IDOC#, if I know the created Sales Order#?

    Hi Experts,
    Let me know that, How to get know the IODC #, if I know the Sales Order#?
    Scenario is that, sales order(say 12345678) was created from Inbound EDI. I also Know the MATERIAL too.
    So, How to pull the associated Inbound ORDERS idoc, which is created this Sales order-12345678?
    Is it from EDID4 table? or EDIDC? or any thing else?
    reples r appreciated.
    thanq
    Edited by: SAP ABAPer on Sep 8, 2008 5:29 AM

    Hello
    This can be done much easier using fm SREL_GET_NEXT_NEIGHBORS:
    Input:
    OBJECT-OBJKEY = <number of sales order>  " with leading zeros!!!
    OBJECT-OBJTYPE = 'BUS2032'
    MAX_HOPS = '01'
    Result:
    NEIGHBORS-OBJKEY = <IDoc number with leading zeros>
    NEIGHBORS-OBJTYPE = 'IDOC'
    NEIGHBORS-ROLETYPE = 'INIDOC'.
    Regards
      Uwe

  • How to get IDOC Number in XI?

    hi,
    i have a scenario (IDOC->XI->SOAP) wherein i have to delete the specific IDOC that is sent and only after getting a successful  confirmation from the receiver.
    Is there a way to get the IDOC number?
    Thakns,
    tirumal

    Hi Tirumal,
    There will be a EDI_* segment in the Idoc . It will be having field called DOCNUM - is nothing but Idoc number.
    Please close other threads, if it is solved
    Thanks,
    Moorthy

  • How to Trigger an IDOC from SAP R/3 to two XI systems

    Hi experts,
       Can any one please tell me How to Trigger an IDOC from SAP R/3 to two XI systems at a time.
    My current production R/3 system sends a DELCERY01 IDOC to Production XI system ( Name : XIP) .
    I would like to route the same IDOC from production R/3 system to my Quality XI System ( Name XIQ) .
    Problem is production R/3 system triggers an IDOC once.
    Regards
    Ram.

    Hi Ravi,
      Thank you very much for your answer.
    As I am not completely aware of R/3 side,I am getting little problem in understanding your answer.
    Could you please explain the same in some what beter way.. Thank you ..

  • How to get the return message after running BD20 tranaction ?

    Hi Gurus,
    My requirement is to Post vendor invoice through ALE/IDOC ( Inbound IDOC ).
    - For that I had generated the IDOC using  Function module 'IDOC_INBOUND_WRITE_TO_DB '
    - Then I had processed that generated IDOC by calling the standard program rbdapp01(BD20-Tranaction ) using the below statment
    SUBMIT rbdapp01 WITH SELECTION-TABLE lt_seltab .
    Could any one suggest me how to get the report output of standard program (rbdapp01) to an internal table so that I dispaly as an seperated report like Posted Document number with messages or Error message
    Suggest me any Function module or any other standard program to process the IDOC so that I can fulfill my requirement.
    Regards
    Paul

    Use can read the IDOC status after processing...
    Eg.
      SELECT * FROM edidc INTO TABLE t_idoc_control_tmp
          FOR ALL ENTRIES IN t_update WHERE docnum = t_update-docnum.
    and then add your own logic IF SY_SUBRC EQ 0.
    I hope this will help you.
    Regards,
    Amey

Maybe you are looking for