Skip to Content
avatar image
Former Member

BODS to SAP - > IDOC

Hello Everyone,

I am triggering IDOC from BODS and its creating sales orders in SAP , For example if i have 1000 orders in BODS the expectation is that it tshould create 1000 sales orders in SAP. ( If all my records pass through successfuly 🤣 )

Is there any way where i can get to know from BODS that which IDOC belong's to which orders i triggered from BODS ? The expectation here is to match the BODS data with the IDOC created.

Thanks,

AJ.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Jan 08, 2015 at 04:23 PM

    Arun,

    Here's my take. Not a very elegant solution but you can try it out.

    1) You can hijack one of the fields in the IDOC control record. In the generate IDOC section of your BODS job, you can use one of the unused fields in the EDIDC control record (E.g: SNDSAD - SADR sender) and populate it with your legacy sales order number.

    2) Once you generate and execute your IDOCs, you can pull the EDIDC table which will give you the IDOC number and the Legacy Sales order number. All you need are the DOCNUM (Idoc Number Field) and SNDSAD - or whichever field you decide to use in the EDIDC table.

    3) Using this, you should be able to link to the SAP Sales Order number. I hope you are populating the legacy sales order number in the reference field in VBAK.

    -Chaitanya

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Arun,

      When you run your Data Services job again with the corrected data, new IDOCs will be generated. In such cases, you will need to explicitly filter the IDOCS by Creation date and time to get the list of 'delta' IDOCs.

      -Chaitanya

  • Jan 09, 2015 at 09:12 AM

    Hi,

    One important thing to note is that the EDIDC table will fill up very fast as every IDoc loaded by anyone or any process in SAP gets recorded on this table. It is better to hence use options like MEssage Variants on your partner profile so that you can filter on the relevant message variant when looking for your IDocs. Even in case of Sales orders, there will be IDocs for Sales Orders from different channels. So it is better to define a message variant in the partner profile so that it can be used when generating IDocs which will prevent acidental processing of other IDocs that aren't creted by you.

    The Column in EDIDC table that holds the message variant value is MESCOD. after defining it in the partner profile, make sure to mention this in your mapping for EDIDC.MESCOD column.

    kind regards

    Raghu

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Arun,

      The base function \BODS\RFC_READ_TABLE and RFC_READ_TABLE seems to be similar . If we have issues with RFC_READ_TABLE then the same should be direct fetch of BODS.