cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Sender Adapter File Content Conversion

Former Member
0 Kudos

Hi all!

I have a question about file content conversion in sender file adapter.

I have file like:

{field1

field2

field3

field4

-}*

$

{field5

field6

field7

field8

-}*

And i need to get file like:

<dealings>

<deal>

<field1>{field1</field1>

<field2>field2</field2>

<field3>field3</field3>

<field4>field4</field4>

<field5>-}*</field5>

</deal>

<deal>

<field1>{field5</field1>

<field2>field6</field2>

<field3>field7</field3>

<field4>field8</field4>

<field5>-}*</field5>

</deal>

</dealings>

I put content conversion parameters:

deal.fieldSeparator = $

deal.fieldNames = field1,field2,field3,field4,field5

And i get a file like:

<ns:mt_swift_file>

<dealings>

<deal>

<field1>{field1</field1>

</deal>

<deal>

<field1>field2</field1>

</deal>

<deal>

<field1>field3</field1>

</deal>

<deal>

<field1>field4</field1>

</deal>

<deal>

<field1>-}*</field1>

</deal>

<deal>

<field1/>

</deal>

<deal>

<field1>{field5</field1>

</deal>

<deal>

<field1>field6</field1>

</deal>

<deal>

<field1>field7</field1>

</deal>

<deal>

<field1>field8</field1>

</deal>

<deal>

<field1>-}*</field1>

</deal>

</dealings>

</ns:mt_swift_file>

What i do wrong?

As i understand, XI put string to a separate tag after symbol 'nl', but how can i get structure without unnecessary tags?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos
Former Member
0 Kudos

try with this

deal.deal.fieldSeparator = 'nl' (as fields are at subsequen new lines)

deal.endSeparator = '0x24' (for $)

Former Member
0 Kudos

Mugdha, thanks for your answer.

If i put this parameters, i get:

<ns:mt_swift_file>

<dealings>

<deal>

<field1>{field1</field1>

</deal>

<deal>

<field1>field2</field1>

</deal>

<deal>

<field1>field3</field1>

</deal>

<deal>

<field1>field4</field1>

</deal>

<deal>

<field1>-}*</field1>

</deal>

<deal>

<field1>$</field1>

</deal>

<deal>

<field1>{field5</field1>

</deal>

<deal>

<field1>field6</field1>

</deal>

<deal>

<field1>field7</field1>

</deal>

<deal>

<field1>field8</field1>

</deal>

<deal>

<field1>-}*</field1>

</deal>

</dealings>

</ns:mt_swift_file>

Maybe i made wrong data type?

<xsd:complexType name="mt_swift_file">

<xsd:sequence>

<xsd:element name="dealings">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="deal" maxOccurs="unbounded">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="field" type="xsd:string" maxOccurs="unbounded">

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

former_member181962
Active Contributor
0 Kudos

Change your DT to the following and check:

<xsd:complexType name="mt_swift_file">
<xsd:sequence>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="deal" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="field" type="xsd:string" maxOccurs="unbounded">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:sequence>
</xsd:complexType>

Former Member
0 Kudos

I tried:

<ns:mt_swift_file>

<dealings>

<deal>

<field1>{field1</field1>

</deal>

<deal>

<field1>field2</field1>

</deal>

<deal>

<field1>field3</field1>

</deal>

<deal>

<field1>field4</field1>

</deal>

<deal>

<field1>-}*</field1>

</deal>

<deal>

<field1>$</field1>

</deal>

<deal>

<field1>{field5</field1>

</deal>

<deal>

<field1>field6</field1>

</deal>

<deal>

<field1>field7</field1>

</deal>

<deal>

<field1>field8</field1>

</deal>

<deal>

<field1>-}*</field1>

</deal>

</dealings>

</ns:mt_swift_file>

I put

Recordset Name = dealings

Recordset Structure = deal,*