cancel
Showing results for 
Search instead for 
Did you mean: 

Bean ZBAPI_COMPANY_DETAIL no found on host

Former Member
0 Kudos

Hi experts,

I created the BAPI for using asynchronous RFC between ECC and XI server. But when i run the report and call the RFC like that:

CALL FUNCTION ZBAPI_COMPANY_DETAIL

IN BACKGROUND TASK

DESTINATION 'ECC_RFC_XI'

TABLES...

The error message occurs in SM58 is: Bean ZBAPI_COMPANY_DETAIL no found on host xxxx, although i had created the RFC with type T and name ECC_RFC_XI point to the XI server.

Could you guy help me to solve this error please.

Thanks in advance.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

As per my experience if you are calling function with mentioning the destination e.g.

> CALL FUNCTION ZBAPI_COMPANY_DETAIL

> IN BACKGROUND TASK

> DESTINATION 'ECC_RFC_XI'

> TABLES...

Then it is very important that this function module should also be present in destination system too. I mean you have to create the same BAPI "ZBAPI_COMPANY_DETAIL" in your XI system as well.

Because in you crrent situation your RFC is able to connecet the destination system but when it tries to pass the data from your TABLES it didn't find any function which can take/return the request/response.

And this is the reason you are getting the error Bean ZBAPI_COMPANY_DETAIL no found on host xxxx,

I hope this solves your problem.

Regards,

Sarvesh

Former Member
0 Kudos

Hi guys,

The error "Bean ZBAPI_COMPANY_DETAIL no found on host xxxx" did not occur, i really don' t understand 'cause i did nothing on it. But now the function return no result when i call the function like mentioned above. I don't think that i have to create a BAPI and a structure for return tables like in the source system, because they are in one system now, but still not work.

Any idea for the IN BACKGROUND TASK pls.

Former Member
0 Kudos

Well I did that for one of my R3 to R3 secnario... the concept should be same.. let me try this myself..

BTW, what you are trying to do... from R3 you must be picking some data and then by calling BAPI sending it to XI, is it correct??

Former Member
0 Kudos

Yeah Singh, I pick the data from R/3 and send to XI with RFC sender, everything is OK for configuration, but when i execute the report, nothing return, very crazy. When i debug the report, it did not go to the BAPI, can you give me some advice in this situation?

Thanks in advance

Former Member
0 Kudos

Hi Pham,

I have tested it in my system and it is working fine without any issue. What you need to do is as below.

1. ZBAPI should have only tables parameters rest import & export tabs should be empty.

2. Do not write any code inside your ZBAPI.

3. In your ABAP program create an internal table exactly same as in BAPI.

4. Select the data into this internal table.

5. Now call this bapi and pass this internal table, see the below code .

PARAMETERS : comp_id TYPE bapi0014_2-company. 

DATA: company_detail TYPE STANDARD TABLE OF t880. 

SELECT rcomp name1 cntry langu stret city 
  FROM t880 INTO CORRESPONDING FIELDS OF TABLE company_detail 
  WHERE rcomp = comp_id. 

CALL FUNCTION 'ZBAPI_COMPANY_GETDETAIL' 
  IN BACKGROUND TASK 
  DESTINATION 'R3_TO_XI' 
  TABLES 
    comp_detail  = company_detail. 

COMMIT WORK. "(if you do not use commit work, it will not work)

6. Before executing this code make sure the RFC 'R3_TO_XI' created in SM59 passed the test successfully.

You must be having a question in your mind that why we have not written that select statement inside the BAPI. If my assumption is correct then the answer is, this BAPI is working here a carrier and since it is asyn scenario then it should not have any import or export parameters. It simply carries the fetched data from your report to target system.

Test your scenario like this and if you have any doubts let me know.

Regards,

Sarvesh

Former Member
0 Kudos

Thanks, Singh!

Problem solved!

Former Member
0 Kudos

Hello,

Make the thread as answered, and share with us the main area where you have done the changes in your scenario to make it successful.

Regards,

Sarvesh

former_member206760
Active Contributor
0 Kudos

Hi Vu,

This is Tarang. Hope you are fine.

1. create the sender RFC communication channel . you can give any program ID( any text) in that.

2. you create a RFC destination of type TCP/IP on the ECC system . specify the same program id text that you specified in step 1.

goto tcode smgw on app server R3 where u wil get the gateway host and service( goto parameters - > display). Add this in the rfc u created .

Write a driver program on R3 which will call the RFC ( using in background task destination u2018RFC destination u2018 that we created ) on the same R3 .

also chk /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step

Hope this would help

Former Member
0 Kudos

Really crazy, i did every configuration OK, but maybe the parameter IN BACKGROUND TASK has some problem. I am still looking for the reason.

Thank you all.

Former Member
0 Kudos

Hi,

in my above post, i told you that in SE38 in a new report, use the pattern button and then in call function specify your BAPI.........then system will generate a proper calling structure for your BAPI........here if you do not see IN BACKGROUND TASK, then this option is not suitable for your BAPI call and you need to remove it in your original report and then try executing the BAPI........

Regards,

Rajeev Gupta

Former Member
0 Kudos

Thanks Rajeev

Former Member
0 Kudos

Hello,

its mean did your problem solved.. If solved just post the solution for that worked as it may help others too

Rajesh

Former Member
0 Kudos

No, it still happens, because when i call function in background task, there is no result return, but if i did not use this parameter, the dump error occurs, because the call to destination is used only for RFC type I and 3, so i do not know what to do. Pls help!

former_member206760
Active Contributor
0 Kudos

Vu,

Did you import your bapi ZBAPI_COMPANY_DETAIL in the XI server..

Did u create a sender RFC channel with appropriate details and program id...

program id specified in the sender channel and in the RFC destination should be same

Former Member
0 Kudos

Hi,

just check - have you defined your BAPI FM as remote function enabled........ have you released your BAPI after creating it............

if your BAPI is remote function enabled and released and your RFC destination to XI server is working, then your RFC msg will reach XI server.

Regards,

Rajeev Gupta

Former Member
0 Kudos

Hi Rajeev,

I already checked this BAPI as Remote function call and activated it, and imported it to the IB. But still error.

Pls help.

Thanks in advance

Former Member
0 Kudos

Cross check the following

1. RFC destination Test connection is fine

(R/3 and XI)

2. Imported the same bapi on to XI

3.Is the same RFC destination created on other systems too (DEV,QA) Delete other systems RFC destination

4. Check the dump in R/3 using ST22

Rajesh

Former Member
0 Kudos

Hi,

just check - you are executing the report in R/3 system where you have created your this BAPI........just to check double click on BAPI in report and see if it navigates to your BAPI source code..........

moreover try using Pattern button in SE38 and in call function give your BAPI to get a system generated call pattern for calling your FM in SE38 and see if you are sending correct parameters to it...........

moreover try to debug your report and get the complete error msg to what error is happening in your report execution..........

moreover check if the RFC destination is maintained in the same client of r/3 from where you are executing your report and your RFC destionation to XI is working.........

Regards,

Rajeev Gupta

Former Member
0 Kudos

Hi

Just check this thread may ge some clue

Regards

Abhishek

Former Member
0 Kudos

Did you imported your RFC in to XI system.?

Did you define your mapping in XI?

Rajesh