Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem with BDC

Former Member
0 Likes
1,871

Hi ,

I am running a BDC on the transaction IW31 in plant maintenance. I am populating all the required fields and when i run the BDC in the system it works fine and creates an order. I am using the Call transaction method.

I want to run this BDC from a remote function call from the XI system. Now when i try to call the RFC from XI, this gives me a short dump which says : "DYNPRO_SEND_IN_BACKGROUND" screen output without connection to user.

the error analysis says " during background processing system attempted to send screen to user ; screen 100 program SAPCOIH"

Why would the system be doing this ? Could somebody please help out ? I have been trying to solve this for a couple of days with no resolution in sight now.

Thanks ,

Amit

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,693

Hi Amit,

I have not worked with BDC within a RFC call, but it seems that the error you're getting is because within a RFC Call you can't call a dialog screen, and a BDC will always call a dialog screen.

My recomendation is to find a BAPI for the IW31, to do what you're trying to, and just call that BAPI from the RFC. Part of the objectives of the BAPI's are to be called from remote systems to do business process in R/3.

You can try the following BAPI:

BAPI_ALM_ORDER_MAINTAIN

Hope it helps.

Regards,

Gilberto Li.

Edited by: Gilberto Li on Jan 8, 2008 9:16 PM

9 REPLIES 9
Read only

Former Member
0 Likes
1,693

Please provide the CALL Transaction syntax that you are using - I am most interested in your OPTIONS parameter.

Read only

0 Likes
1,693

Here's the syntax i have used :

CALL TRANSACTION P_TCODE USING BDCDATA

options from opt

MESSAGES INTO P_MESSTAB.

where p_tcode = IW31,

opt-dismode = E

p_updmode = 'S'

p_messtab is the return message tab.

This is actually the standard code generated through transaction SHDB.

I also added the parameter opt-nobinpt = 'X' , but that did not help either.

Thank you for you help,

Amit

Read only

0 Likes
1,693

Try:

opt-dismode = 'N'.

and

UPMODE = 'A'

Read only

0 Likes
1,693

Hi John , I tried that, but it still gives me a dump. This time though its for something else.

Here's the error analysis :

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_IMPORT_MISMATCH_ERROR', was

not caught in

procedure "AKT_DAY_HIST2" "(FORM)", nor was it propagated by a RAISING clause.

Since the caller of the procedure could not have anticipated that the

exception would occur, the current program is terminated.

The reason for the exception is:

When importing the object "HIST2", the component no. 8 in the

dataset has a different type from the corresponding component

of the target object in the program "RSORAT4M".

The data type is "I" in the dataset, but "P" in the program.

********************************************************************************

Now the all this being in standard SAP code, i have no way of knowing what it actually means !

The funny thing is this BDC was working some days ago and has now stopped working .. could there have been any config change that could have caused this problem ?

Thanks,

Amit

Read only

former_member194669
Active Contributor
0 Likes
1,693

Hi,

I think the RFC you're calling tring to open a dialog window screen. . This is not allowed for the type of RFC call .

and please check the options parameter NOBINPT = 'X' ( I am not 100% sure about this)

a®

Read only

Former Member
0 Likes
1,694

Hi Amit,

I have not worked with BDC within a RFC call, but it seems that the error you're getting is because within a RFC Call you can't call a dialog screen, and a BDC will always call a dialog screen.

My recomendation is to find a BAPI for the IW31, to do what you're trying to, and just call that BAPI from the RFC. Part of the objectives of the BAPI's are to be called from remote systems to do business process in R/3.

You can try the following BAPI:

BAPI_ALM_ORDER_MAINTAIN

Hope it helps.

Regards,

Gilberto Li.

Edited by: Gilberto Li on Jan 8, 2008 9:16 PM

Read only

0 Likes
1,693

Hi Gilberto,

Thank you for your reply. I searched for a BAPI for orders but i couldnt find any. I have seen the bapi BAPI_ALM_ORDER_MAINTAIN , but i have no clue how it works.

The documentation about it is also quite vague.

Could you help me out with an example to use BAPI BAPI_ALM_ORDER_MAINTAIN ?

Thanks ,

Amit

Read only

0 Likes
1,693

Hello,

there's no problem in using bdc in rfc's.

We had problems after a hot package upgrade? Perhaps you've implemented some hot packages?

For BAPI_ALM_ORDER_MAINTAIN have a look at the following thread (contains a link to examples).

https://forums.sdn.sap.com/click.jspa?searchID=-1&messageID=4671634

Best regards

Stephan

Read only

0 Likes
1,693

Thanks stephan,

That link about using bapi_alm_order_maintain was extremely descriptive and helped me write working code

Amit