cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Receiver isn't updating the SAP ECC.

Former Member
0 Kudos

Hi,

I am creating a JDBC to RFC interface.

The JDBC is working fine, I see the payload in the communication channel monitoring.

There is no error in the communication channel monitoring regarding the RFC Receiver, and I see the right payload.

When I execute the RFC in SE37 the relevant tables are updated.

The interface (RFC Receiver) fails to update the relevant tables.

I selected "Commit Handling for Single BAPI Calls" in the RFC Receiver adapter.

The quality of service of the JDBC Sender is exactly once, but I see in the audit log that the message is synchronous. maybe its related ?

In the log I see that BAPI response is 0 rows.

In the RFC Receiver adapter I selected "Commit Handling for Single BAPI Calls" .

The last rows of the Audit Log of the RFC Receiver are (The status of all the rows are success):

RFC adapter received a synchronous message: Attempting to send sRFC for ZXI......(function name).

RFC adapter received a synchoronus message. Attempting to send sRFC to J2EE_GUEST.

BAPI response was a table of type BAPIRET2 with 0 rows.

BAPI executed successfully.

Commit transaction with BAPI_TRANSACTION_COMMIT

MP: Leaving module processor

The message was successfully delivered to the application using connection RFC_http:// .....

The message status set to DLVD

Thanks,

Ofir

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member181962
Active Contributor
0 Kudos

Hi Ofir,

From the log, i can see that you are calling a Custome RFC FM.

How did you handle the database commits in the RFC function module?

YOu can try the following design inside the RFC function module/

if the call to the stadrad bapi/ API/ FM is succesful, then call the bapi BAPI+TRANSACTION_COMMIT explicitly in your Z Function module code.

Regards,

Ravi

Former Member
0 Kudos

I used "Commit Handling for Single BAPI Calls".

As Ravi suggested, I unchecked "Commit Handling for Single BAPI Calls" and

the Z function calls to BAPI_TRANSACTION_COMMIT .

The RFC still doesn't update the relevant tables.

Now, the end of the Audit Log is (The status of all of the rows is success):

RFC adapter received an asynchronous message. Attempting to send tRFC for ZXI..... with TID .....

RFC adapter received an asynchronous message. Attempting to send tRFC for J2EE_GUEST with TID ....

MP: Leaving module processor

The message was successfully delivered to the application using connection RFC_http://......

The message status set to DLVD

Regards,

Ofir

former_member181962
Active Contributor
0 Kudos

Hi Ofir,

Sounds silly, but can you check if you are looking in the correct target system? Sometimes, we might look into a wrong client..;)

Regards,

Ravi

Former Member
0 Kudos

Hi Ravi,

I am looking in the correct target system, for sure

Regards,

Ofir

former_member181962
Active Contributor
0 Kudos

Hi Ofir,

is it possible to show your ABAP code within the Z RFC?

Regards,

Ravi

Former Member
0 Kudos

Imported Parameters (Parameter Name - Associated Type):

NOTIFHEADER - BAPI2080_NOTHDRI

NOTIFHEADER_X - BAPI2080_NOTHDRI_X

NOTIF_NO - QNUM

Tables:

RETURN - BAPIRET2

Source Code:

FUNCTION ZXI_NOTIFY_TO_ECC.

DATA: RETURN2 TYPE BAPIRET2.

CALL FUNCTION 'BAPI_ALM_NOTIF_DATA_MODIFY'

EXPORTING

NUMBER = NOTIF_NO

NOTIFHEADER = NOTIFHEADER

NOTIFHEADER_X = NOTIFHEADER_X

TABLES

RETURN = RETURN.

CALL FUNCTION 'BAPI_ALM_NOTIF_SAVE'

EXPORTING

NUMBER = NOTIF_NO

TABLES

RETURN = RETURN.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = ''

IMPORTING

RETURN = RETURN2.

ENDFUNCTION.

Thanks,

Ofir

Edited by: Ofir Nimitz on May 4, 2009 3:17 PM

Former Member
0 Kudos

The Debuugger is now working (maybe there was a performance problem) and I see the values that are transfered from the jdbc adapter.

Using the Debugger, I can't find the reason for the failure.

As I wrote before, when I execute the function in se37 the tables are updated successfully.

Regards,

Ofir

former_member218864
Participant
0 Kudos

Hi Ofir,

Did you solve the problem? I'm having exactly the same problem and I can´t find the solution.

Any help would be appreciated.

Regards!!

Gustavo Balboa

Former Member
0 Kudos

I didn't mention that the RFC calls to BAPI flags for notification header.

(I must type the character X for every field which is transfered).

Thanks,

Ofir

Former Member
0 Kudos

put the external debug point in RFC/BAPI at the start, and check where is the error.