on 05-02-2015 7:51 AM
Dear All
Is it possible to suppress certain fields in Outbound ALE IDOCs (for example INFREC IDOCs) ?
I am in need to send Info Records from one ECC system to another. The problem is, in the sending ECC system the INFREC IDOCs are created with the field E1EINAM-INFNR which carries the Info Record number. But the target ECC system might have a different Info Record already existing (for a different article) with the same Info Record Number. If the INFREC IDOCs are created without the INFNR field (i.e. if the field is blank) and then sent to the target system via ALE, it is successfully processed in the target system and a new Info Record is created with a different Info Record number. This is what is required. How can it be made possible?
Thanks
Vignesh Sankaranarayanan
what is the goal of this scenario?
Is it made for a data migration and hence just a one-time event, or do you want to update the info record in the satellite system when you change it in the main system?
I mean if you remove the info record number then SAP will automatically create a new info record with a new number, but how can ensure that an update will hit this new info record if you do not have a mapping between the info record numbers in the old and new system?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Jurgen,
This is just a one-time data sync from a Pre-Production system (which has been recently refreshed from Production) to a QA Testing system (which cannot be fully refreshed from Production due to project dependencies). Also Info records are not likely to be updated in this system. We just need to create them once.
Thanks
Vignesh Sankaranarayanan
Use the transactions BD62, BD79 and BD55 to setup and assign conversion rules for your IDOC fields and set a constant '/' for the infnr field.
Test if that is enough or you might need to take extra care for the name field of info record texts. I am not in a system currently, so I can't check whether long text name is based on info record number or only a mix of info record keyfields (without info record number itself).
You should also have a look into my blog
You will probably hit the one or other issue that I described too.
Dear Jurgen,
Thanks for providing the steps. I have done the following but the output IDOC remains the same as before (still contains INFNR).
Please let me know if I have missed something.
1. Created a new conversion rule "TEST" for segment E1EINAM in transaction BD62
2. Set a constant "/" to INFNR for conversion rule "TEST" in transaction BD79
3. Assigned the conversion rule to the message type INFREC in transaction BD55
4. Created an INFREC IDOC in transaction ME18
Thanks
Vignesh Sankaranarayanan
Many thanks! It is working when set up at the receiving system and the field INFNR is being converted to / as soon as it reaches the receiving system. But what happened was a new Info record with number / has been created after processing the IDOC. Is it possible to set a blank value for this field instead of / ?
Thanks.
Usually the / in an IDOC field has the meaning of initial, can it be that you entered it together with the single quote?
It should also be possible to add some ABAP to call function module NUMBER_GET_NEXT to retrieve the next internal number for the INFNR field from the number range of info records.
Thanks Jurgen!
I worked around it by mapping INFNR field to MFRNR from the source system which will always be blank (in our case).
This worked fine and on processing a new Info record was created with the internally generated number. I am not quite familiar with ABAP. But would be happy to learn how to implement what you suggested.
Thanks
Vignesh
User | Count |
---|---|
96 | |
10 | |
9 | |
6 | |
3 | |
3 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.