*Disclaimer* – Notes in my blogs are about hypothetical scenarios. They do not directly or indirectly relate to any of my current or prior employers, or their clients.
Why this blog?
I quote you “Humans are unique among all animals because of their ability to learn from others mistakes. What’s even more unique is their reluctance to do so!”
What makes me qualified to comment on this subject?
I have been in Production support Environment for about 10 Years, at least 5 of which supporting SAP ECC. One of the project I have been involved with claims to be the largest SAP ECC implementation worldwide.
Target Audience, or Why should you spend time reading this?
This Blog is about how simple design elements can save hundreds of Hours, money and sometimes embarrassment from your Client or Customers in long run for Large scale IT projects’ maintenance. Often, IT projects are driven by urgency to deploy quickly, and fail to consider how it will be maintained for years to come.
Sometimes they include exotic design elements that are too difficult to sustain for many users across many locations. (May I quote an extreme imaginary scenario? “Don’t build a Unicorn if you don’t know how you would you feed it Gold crusted Diamond Pie everyday!”
All developers may find my comments useful. Technical Project leads, Architects, or Production support personals may find these more valuable than others.
Leave me Comments!
Your project situation may differ so my notes may not completely apply to you. However, I like good debates, and I am willing to listen!
If you don’t mind, please mention your production support experience if you have in your comments.
I hope you got the idea where I am going with this.
Let me start my 3rd IDOCs Feature request with same notes as the 1st two feature request.
SAP has built IDocs functionality which is an amazing tool that makes processing large transactions in parallel or sequence very easy. It has detailed load distribution, tracking, and reprocessing mechanisms.
However, I think SAP somehow missed to build simple generic data analysis tools around IDocs. (How did you? You can convert currency 300 different ways!).
I have had our projects build 5 custom tools for IDocs. They are saving us hundreds of hours (and sometimes things that money can’t buy).
3rd of our most used IDocs tool is IDocs Mass Upload/Download.
How does it work?
This one has a simple selection screen. One block is for the IDOCs Download , and 2nd block is for Upload.
For Download block, we decided it to keep it really simple.
- First select-options is IDOCs Numbers. (We don’t want users accidently downloading thousands of IDOCs. We want them to figure out what IDOCs they want to download before they get here.)
- File path (local or app server, either, based on your need).
- Some of the Technical routing parameter can be set while IDOCs are being downloaded .
Upload block is relatively simple too.
- We have several parameters that can be set based on current system (ex. Partner system etc.)
- The file path of the upload file.
If users want to copy IDOCs from PRD system to DEV, first they login to PRD and use download option to download selected IDOCs to a flat file.
Next, they login to DEV system, and use the Upload block to fill in some parameters and pick the file. We default all the parameters based on the current system so a functional person can move IDOCs without having to worry about various technical routing parameters.
Voila! you have good test data in your Dev/QA system (don’t forget to read Caveat).
If you are to do it otherwise, you are going to have to jump thru a lot of hoops with your Basis and middleware folks! (I hope you are making friends with them anyways!)
Key Development criteria:
- This is a very special limited use utility. Secure the hell out of this via S_IDOC_MONI and other custom security auths that no one will have by default already. Also add a Z table with User ID and Valid dates to run this utility so someone cannot accidentally run this utility, and not know what they did.
- Leave audit trails, especially when exporting.
- When importing, have a control record parameter (create a new partner sys?? ) so you know what got created via this utility, especially in Prod. (I think you can add a status message 42 or 74 may be?)
- Control records need some translations when changing systems. Play around, and you will figure it out (UNICODE indicator is one of them). It is not too difficult. Don’t hard code technical routing values. Default and source them from selection screen on upload/download blocks.
- SAP has standard code already to do all the heavy lifting for you. You just have to prettify it. Look up SE37 ‘IDOC_OUTBOUND_WRITE_TO_DB’ and ‘IDOC_INBOUND_FROM_FILE”. SE38 rseinb00 is also helpful to look at.
Why is IDocs Mass Upload/Download needed? How will this help you?
- This should be used only as a last resort under very tight timeline in production. Ex. If your middle mapping is off, and you don’t have time to correct code and get it thru all the processes, you can possibly download, do mass corrections, and re-upload same IDOCs in few mins or hours. (Upload/Download might be a little faster than mass Update in some cases).
- This tool will be very useful in Dev and QA environments, especially in early phases of development and testing when all pieces are not in place, or not working as expected.
- Dev/QA: You don’t have to go find your middleware guys to find you original Flat file/HTTP etc. and manually edit it, and resend it thru all layers. This could sometimes take hours or days depending how busy or willing they are, or if that particular instance of the system has working middleware hooked up. This tool can be virtually used by anyone with least technical knowledge. If they know WE02, they can use this! They can get IDOCs from any other system, possibly update flat file for what they want, and re-upload them in target system in minutes.
- Prod: Your middle ware is out and you still need your data out to partner right away? There is a slight chance you can download IDOCs and rearrange data in the format they like to keep things moving. (May be route it thru your Dev or Prod Replica Middleware?)
- Quality of your test data will be significantly better. This tool will help fix bugs before they happen in production.
- I am actually confident enough that if you have IDocs interfaces, you will get ROI in in weeks if not months on this tool. You don’t know how many hours you are wasting updating IDocs manually.
- This is an Expert Only tool, or at least for select few, just like WE09 in Production. Don’t tell too many about this, or you will have people doing IDocs mass upload/download just because they can. That is why inspecting audit trails in production and replicas is very important, especially if you have sensitive data in IDOCs
I could easily clean up the code we have and put it here for others to follow. (Where’s fun in that? ).
However, if SAP can do it, it will save us all extra effort. I am sure this can be done in less than couple of months by a good developer.
Please go ahead and leave a comment here and let SAP know you want to be able to analyze IDocs data en mass. Or prove me wrong and tell me SAP has something like this already. I hope you do the first one!