cancel
Showing results for 
Search instead for 
Did you mean: 

Reading internal table into File Adapter

Former Member
0 Kudos

Hi,

I would like to read an internal table from RFC function (sender), and write all the rows into the file by using File Adapter. Here is the scenerio;

RFC Adapter -> XI -> File adapter

Internal table content, below;

FLD1 FLD2 FLD3

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

1 A B

2 X Y

I expect the result, below;

<?xml version="1.0" encoding="UTF8" ?>

<rfc:Z_RFC xmlns:rfc="urn:sapcom:document:sap:rfc:functions">

<ITAB_ZSUBS001>

<item>

<FLD1>1</FLD1>

<FLD2>A</FLD2>

<FLD3>B</FLD3>

</item>

<item>

<FLD1>2</FLD1>

<FLD2>X</FLD2>

<FLD3>Y</FLD3>

</item>

</ITAB_ZSUBS001>

</rfc:Z_RFC>

I see all the records in payload, but cannot write into file. Anybody have any suggestion? Thank you.

Regards,

Orkun Gedik

Message was edited by:

Orkun GEDIK

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi,

Thank you for the feedback. From now on I am getting the error, below;

Error> occured [1] >Thu Apr 05 09:24:21,046<

RfcException:

message: Commit fault: com.sap.aii.af.rfc.afcommunication.RfcChannelMismatchException: Wrong Sender Agreement:The Sender agreement does not have channel Rfc_Fiyat_Sender configured for the functionmodule Z_RFC

Return code: RFC_CLOSED(6)

error group: 108

key: RFC_ERROR_INTERNAL

Please see the last configuration, below;

Message mappings:

RFC Message:

Messages 1..1

Message1 1..1

Z_RFC 1..1

ITAB_ZSUBS001 1..1

item 0..unbounded

TXTKOD 0..1

TXTAD 0..1

TXTADDR 0..1

Message Type: Malzeme

Messages 1..1

Message1 1..1

Malzeme 0..unbounded

TXTKOD 1..1

TXTAD 1..1

TXTADDR 1..1

Interface mappings:

Source Interface: Z_RFC Occurrence 1

Target Interface: MI_MAlzeme_In_Asyn Occurrence 0..unbounded

I bound the items below;

item -> Malzeme

TXTKOD -> TXTKOD

TXTAD -> TXTAD

TXTADDR -> TXTADDR

Also,I refreshed the adapter cache and full cache by using SXI_CACHE and restart the RFC adapter thorugh Visual Admin in order to solve the problem, but it couldn't be a solution for the problem. Do you have any suggestion about it?

Regards

Message was edited by:

Orkun GEDIK

Former Member
0 Kudos

Hi Orkun,

Try this one.... hope it works

in Message Mapping change the occurace of target structure to 0 to unbounb.

In message Mapping window go to Messages Tab...there u will find source Message(s) and

Target Message(s)...change occurane of target message to 0 to unbounb.

Thanks,

Maheshwari.

Former Member
0 Kudos

Hi,

Thank you very much for the precious feedback, but I don't want to convert the file content. I want to write all the internal table records into result XML file. The main problem is that XI read all the records, but not write all the records, just first record. Do you have any suggestion about it?

Thank you.

Former Member
0 Kudos

HI,

For that as explained above , you would have to change the target msg occurrences to 0...unbound , this can be done in messag emapping , messages tab, below side target structure , right side occurrences change to 0..unbound.

Later come back to message mapping and map the item to target side root node,

left side 0.. unbound and target side 0..unbound nodes to be mapped ,

now check

Regards

Chilla

Former Member
0 Kudos

Hi,

Thank you for the feedback. Please find the message mapping and interface mappings, below;

Message mappings:

RFC Message:

Z_RFC 1..1

ITAB_ZSUBS001 1..1

item 0..unbounded

TXTKOD 0..1

TXTAD 0..1

TXTADDR 0..1

Message Type: Malzeme

Malzeme 1..1

TXTKOD 1..1

TXTAD 1..1

TXTADDR 1..1

Interface mappings:

Source Interface: Z_RFC Occurrence 1

Target Interface: MI_MAlzeme_In_Asyn Occurrence 1

Former Member
0 Kudos

HI,

Please try to use File content conversion parameters like

Record structure :ITAB_ZSUBS001,item,*

parameters like :

item.fieldSaparator :,

item.endSaparator : 'nl'

ignoreRecordstructure : true

See the below links

http://help.sap.com/saphelp_nw2004s/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm

Also for info

/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC

/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns - FCC

/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file - FCC

/people/harrison.holland5/blog/2006/12/20/xi-configuration-for-mdm-integration--sample-scenario - FCC - MDM

/people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp - FCC

/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - FCC

/people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter - EOIO - File

Former Member
0 Kudos

Hi,

You can write into file with file adapter with file content conversion as message protocol.

You would have to use FCC parameters for receiver File Adapter.

before that you must check the receiver message structure. which can able to handle the all records

How it is your receiver structure is it similar to below ?

Messgetype

root ......0..1

data ...0..unbound

field1

field2

field3

If every thing is configured and structure also support then.

Check the Receiver Communication Channel configuration

And Check the error in RWB for channelmonitor

http://host:port/mdt/channelmonitorservlet-- select receiver CC.

see the error.

Regards

Chilla

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>I see all the records in payload, but cannot write into file. Anybody have any suggestion?

did you check

http://xiserver:port/MessagingSystem/monitor/monitor.jsp

and:

http://xiserver:port/mdt/channelmonitorservlet

links ?

Regards,

michal

-


<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Former Member
0 Kudos

Hi,

Thank you for the quick answer. I checked the audits but not face with any problem in it. I would like to ask that is there any different configuration, between reading one record and several record from an itab into file adapter, for example occurrence ?

Regards,

Orkun Gedik