01-07-2008 3:17 PM
Hi All,
In the function module for inbound processing, I have a BDC to be executed.
But when the IDOC is received from the WEBSPHERE(Middleware) the BDC fails. There is an exception, "CNTL_ERROR" raised by the class "CL_GUI_CUSTOM_CONTAINER=======CP" when in BDC for the required transaction.
I have contacted the Basis team and they are of the view that this happens when there is a difference in screen elements of the BDC creator(me) and the executor(websphere in this case).
Can anyone tell me how can I correct this?
Anuj
01-07-2008 3:21 PM
Hi Anuj,
If you test the BDC yourself in the background, does it run correctly?
Regards,
John.
01-07-2008 3:25 PM
Yes it works perfect!
Even if I reprocess the failed IDOCs using BD87, still it works fine!
But when it comes for the first time it fails.
01-07-2008 3:28 PM
Hi Anuj,
Could you check the authorization of the user which executes the BDC when calling from Websphere?
Regards,
John.
01-07-2008 3:32 PM
John,
That cannot be an issue as the IDOCs are executed with user-id 'WEBSPHERE' only. And this ID has access to SAP_ALL.
Anuj
01-07-2008 3:35 PM
Hello Anuj,
With SAP_ALL it is very unlikely that authorization is an issue. One other thing I can think of are parameters: for some transactions in SAP organizational elements must be set. If a parameter in the user master is missing you get a popup to supply the value.
To test if this is the case: could you login with user WEBSPHERE and test the BDC?
Regards,
John.
01-07-2008 3:41 PM
John,
WEBSPHERE is a system ID so Basis team will not allow me to access it as a user ID.( I had already requested them for the same).
But I also compared the user-id parameters with mine and there is no difference.
Can you think of something related to BDC? or some precaution which needs to be taken to cater the requirement if the screen elements are differing?
Thanks for your replies.
Anuj
01-07-2008 3:51 PM
sorry for intruding...
CNTL_ERROR hints to a problem with the connection to the frontend control framework...there is probably no such connection when your function is called from outside.
Which transaction are you calling? Does it use enjoy control or the like? Maybe there is an "old" excuse me "classic" transaction or a BAPI that does the same job?
Cheers
Thomas
01-07-2008 3:59 PM
Thomas,
Thanks for intruding
I am using the transaction COR6N. Yes there exists a classic transaction but I am not using that because then I dont get the expiry date pop-up while doing the BDC.
Please suggest.
Anuj
01-07-2008 4:23 PM
I hate saying it, but it might not work with COR6N, due to the little notepad it has on the bottom. If you can't use COR6, did you look at BAPI_PRODORDCONF_CREATE_TT?
Greetings
Thomas