We are using SAP DS 4.2 SP2 connected with SAP ECC system Net Weaver 7.31 via RFC connection. The job calls an ABAP RFC Function Module which has input & output parameters as 'Table Types'. The high level functionality of the ABAP RFC Function Module is that is receives input as table type, performs insert/update/select operations within ECC tables and returns the output as Table type again. We have observed that for the same set of input data, the BODS job results are not same every time. ie., the job completes successfully at times and also fails at times. Whenever the job fails, the BODS error log states "DataFlow received a bad system message". The RFC trace log says the below
>> RfcGetParameterDescByName
RfcGetParameterDescByName(funcHandle=7f98240758d0, name=RETURN, in=7f982fffbf90, error=7f982fffb4b0)
RfcGetParameterDescByName(funcHandle=7f98240758d0, name=RETURN) failed 20, 20, field 'RETURN' not found
funcHandle=7f98240758d0: name=Z_POS_TRANSFER_TO_ECC (origin=ERC) with 2 parameters
parameter 0 (ET_RESPONSE_TO_BODS, 5, 2, 278, 546, 0, 7f982407d2b0, , Results Output Structure to BODS / HANA, 0, 7f9824071d20)
parameter 1 (IT_RESULTS_TO_ECC, 5, 1, 192, 368, 0, 7f9824084b00, , Structure to accept results data, 0, 7f9824071d20)
<< RfcGetParameterDescByName returned RFC_INVALID_PARAMETER
RFC_ERROR_INFO.key: RFC_INVALID_PARAMETER
RFC_ERROR_INFO.message: field 'RETURN' not found
Does BODS always expect the field name 'RETURN' in the output parameter table type?
Thanks