on 10-19-2005 9:23 AM
Hi,
I am using the following call .
CALL FUNCTION 'Z_SD_IT_KONP_TABLE_FILL'
STARTING NEW TASK 'INFO'
PERFORMING return_info ON END OF TASK.
My program works correctly and recieves the data from the above Async RFC . But when my program terminates the other session which is created dumps giving error as CALL_FUNCTION_SEND_ERROR . Does anyone know why this is happening, or does any one know hoe to close a RFC connection.
Kunal
Hi kunal,
Try setting a global flag variable to 'X' in your "return_info" subroutine and use the following after your CALL FUNCTION statement..
WAIT UNTIL <your global flag> = 'X'.
This will wait till the RFC function is complete and your routine return_info is processed.
For example,
FORM return_info USING taskname.
RECEIVE RESULTS FROM FUNCTION....
.....
gv_rfc_complete = 'X'.
ENFORM.
and then after your CALL FUNCTION statement..
WAIT UNTIL gv_rfc_complete = 'X'.
Sri
Message was edited by: Srikanth Pinnamaneni
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
My program also has the following code.
RECEIVE RESULTS FROM FUNCTION 'Z_SD_IT_KONP_TABLE_FILL'
TABLES i_konp = i_konp_rfc
EXCEPTIONS
communication_failure = 1 MESSAGE w_msg
system_failure = 2 MESSAGE w_msg.
and also the wait call. My problem is not in my program , i am getting the FM results correctly and my program then process the data . The dump occurs in a different session which gets created due to the RFC call .
regards,
Kunal
Hi Kunal,
Check OSS NOTE 364218..
Actually I am giving the Note content below,
Symptom
Short dump with CALL_FUNCTION_SEND_ERROR or CALL_FUNCTION_REMOTE_ERROR occurs during the execution of a tRFC/qRFC-LUW (first function in "Active calls" is ARFC_DEST_SHIP or TRFC_QIN_DEST_SHIP).
In smq1, smq2 or sm58 the system displays error text "(I/O error)" or "Error in RFC driver program".
Additional key words
Cause and prerequisites
The problem is caused by incorrect programming in the application. During the execution of a tRFC/qRFC-LUW, a function was called via RFC with the destination 'BACK', which is not permitted because tRFC or qRFC does not have a normal RFC server and therefore does not have an RFC client.
Solution
Refer to the following note to eliminate the error:
By calling one of the function modules TRFC_RECEIVER_INFO or REMOTEID_OF_BACKGROUNDTASK you can determine if you are in a tRFC/qRFC environment (trfctype = space or tid = space means no tRFC/qRFC).
Sri
Hi Kunal,
Did you try using KEEPING TASK addition RECEIVE RESULTS FROM FUNCTION.. ? I know it will result in degradation of performance but just to check why this is happening..
Also if you do not specifiy DESTINATION then sytem calls it with DESTINATION 'NONE'..
How is your WAIT call coded? Is it possible for you to post it here?
If you find a solution for your problem then please post it here.
Also check this out..
<b> Replies to asynchronous calls can only be received if there is a change of roll area (e.g. a screen change) or if you use WAIT (online and in the background).</b>
Do you have any call screen statements etc in the RFC fm?
Sri
Message was edited by: Srikanth Pinnamaneni
Message was edited by: Srikanth Pinnamaneni
Kunal,
Call function errors happens when the parameters that you are passing as export / import from the caller program, are not matching the corresponding typs in the FM. check that first.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.