cancel
Showing results for 
Search instead for 
Did you mean: 

passing tables as input in RFC

Former Member
0 Kudos

Hi all

My ultimate requirement is to create inbound delivery,before i'am getting the purchase order details from Bapi BAPI_PO_GETDETAIL,here the user enters the purchase order number.

From the purchase order details i get from the above BAPI,i have to let the user manipulate the quantity against the line items.then this table for item details is passed as input for another RFC BBP_INB_DELIVERY_CREATE to create the inbound delivery.

In the above process,i'am able to get the purchase order details,the user is able to change the quantity or remove any line items.Once I give Create Inbound delivery,it is failing to do anything.

the input table where i have to pass the purchase order item details into rfc BBP_INB_DELIVERY_CREATE shows null ,when i see it in the debugger mode.how to initialise it?

In my application i have used two controllers say A and B,A is mapped to the BAPI_PO_GETDETAIL and B is mapped to BBP_INB_DELIVERY_CREATE,to get the details of purchase order from controller A to Controller B i have mapped them,then i have done RELATE CONTEXT MAPPING of the node which receives the po item details from controller A to the structure which is the input to the RFC BBP_INB_DELIVERY_CREATE.As a result the system has generated the following code.

IPrivateCustom1.IPo_ItemsElement po_ItemsElement = wdContext.currentPo_ItemsElement();

IPrivateCustom1.IIt_Inb_Delivery_DetailElement it_Inb_Delivery_DetailElement = wdContext.currentIt_Inb_Delivery_DetailElement();

if ((po_ItemsElement != null) && (<b>it_Inb_Delivery_DetailElement</b> != null)) {

it_Inb_Delivery_DetailElement.setMaterial(po_ItemsElement.getMaterial());

it_Inb_Delivery_DetailElement.setPo_Item(po_ItemsElement.getPo_Item());

it_Inb_Delivery_DetailElement.setPo_Number(po_ItemsElement.getPo_Number());

it_Inb_Delivery_DetailElement.setDeliv_Qty(po_ItemsElement.getQuantity());

it_Inb_Delivery_DetailElement.setUnit(po_ItemsElement.getUnit());

}

But here the object it_Inb_Delivery_DetailElement is null.can anyone suggest how to initialise it.it_Inb_Delivery_DetailElement contains the table containing po item details.

I have already tried the following codes to initialise

Bbp_Inb_Delivery_Create_Input input1 = new Bbp_Inb_Delivery_Create_Input();

<u>input1.setIt_Inb_Delivery_Detail(new Bbp_Inbd_D());

</u>

<b>but in the above statement it says that the object It_Inb_Delivery_Detail will only except an ABSTRACT LIST</b>.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Mohamed,

This similar thread will help you understand how to pass tables to RFC.

Hope this helps,

Best Regards,

Nibu