2007 Sep 17 12:54 PM
I programmed and activated user-exit for processing idoc (SDPICK, EXIT_SAPLVMDE_003). Then I imported it to the production system.
When I test that particular idoc type with test transaction (WE19), everything works fine but if idoc comes from non SAP system, it seems so that the user-exit code is not processed.
Should be the production system (or just some service or EDI system) restarted in order the changes in user-exit to be taken into account? If yes, how?
Thanks.
Stano
2007 Sep 17 12:59 PM
I presume the control record on the IDoc sent from the external system has the correct details on it and is not using another partner profile with a different process code.
I programmed and activated user-exit for processing idoc (SDPICK, EXIT_SAPLVMDE_003). Then I imported it to the production system.
When I test that particular idoc type with test transaction (WE19), everything works fine but if idoc comes from non SAP system, it seems so that the user-exit code is not processed.
Should be the production system (or just some service or EDI system) restarted in order the changes in user-exit to be taken into account? If yes, how?
Thanks.
Stano
2007 Sep 17 12:59 PM
I presume the control record on the IDoc sent from the external system has the correct details on it and is not using another partner profile with a different process code.
2007 Sep 17 1:03 PM
Yes, that's correct. And even the idoc data (as well as control record) is untouched during the user-exit processing.
2007 Sep 17 1:23 PM
What is the external system.
I remember I was working with a system called Mercator. There were times that I made changes to a user exit, which when I ran an IDoc in the system, the user exit was processed correctly. However, when the IDoc was sent to SAP from an external syystem, the user exit was not executed properly.
To fix this we had to stop and start the external system. As the external system calls SAP via and RFD call, the programs that are executed are stored in memory. When stopping/starting the external system, this appeard to force SAP to use the current code and not the version stored in memory.
I think that will fix your problem.
2007 Sep 17 1:49 PM
I thought it that memory version is still being executed but restarting of external system is what I was afraid of.
I am not admin of it and it would be very hard work to convince our admin to restart it in productive environment. But I'll try.
EDI server is "external" system that just transmitts messages between R/3 and non R/3 system.
2007 Sep 17 2:00 PM
I would be very confident that it would solve your problem. It can be proven if the previous version of the code is being executed and it works correctly if you run it manually.
2007 Sep 20 9:52 AM
Hi there!
I've got news.
We restarted EDI server and nothing happend! But not really nothing. I found that the code is executed (by inserting small piece of code that changes data in user table). As I did it after the restart I am not able to distinguish whether the changes in code were also applied before the restart. But I am sure that it were.
The real problem is somewhere else.
My code I want to be executed while processing idoc is in fact calling of function module 'TH_POPUP' which seems not to execute within idoc user-exit.
I think it has something to do with rfc or something because when I executed it on background and even under the same technical user as for idoc processing it was executed correctly.
Even the idoc test transaction works with it.
But this is different problem (maybe the problem of function module) so I am going to close this thread and open new one.
Thank very much you for your help!
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |