cancel
Showing results for 
Search instead for 
Did you mean: 

file content conversion palin to xml but in file only i got first record among 15 records

Former Member
0 Kudos

Hello All,

I am creating FCC plain to xml format. Input is a text file with tab delimited. And output file should be xml file.
My input file having 15 records but i got only first record in output file.

This is my input file with tab delimited.

This is my output payload.

i got only first record from 15 records.i put Recordset per message in sender channel is" * ".

Please Help Me.

Regards,

s.k.prabhakar.


Former Member
0 Kudos

Hello All,

I got above fcc file to xml error. my input file having 15 records but in output file only i got one record.Any changes is required in sender communication channel.

Please i need help.

Thanks,

s.k.prabhakar.

Accepted Solutions (0)

Answers (10)

Answers (10)

Former Member
0 Kudos

Hurry..........its working fine

Hello Raghuraman and Evgeniy Thank you very much,

It working fine Thanks A lot to spend your valuble and precious time.

But how can i map to spilt payload based on department at message mapping level.

Thanks and Best Regards,

s.k.prabhakar

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

You need to do multi level mapping in your case.

Get the data in one mapping and do the transfomration in the other.

Kindly close the thread.

Former Member
0 Kudos

Hello Raghuram,

sure i will close the thread,

Thanks and Regards,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Glad that your issue got resolved. 🙂

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

Since your Emp data is getting created multiple times i.e 0-n no need to change the occurrence in the mapping,change to 0-1 occurrence in the signature tab of mapping,so that the messages node will be removed.it will work.

Former Member
0 Kudos

Hello Raghuraman,

like this only you saying Right.

here e10738_payload_msg_input is my message Type.

emp_det is sub elemnet of message type. i tested with this in this case all fields data coming into one field.only.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhkar,

In the mapping tab go to signature tab and change the occurence to 0-1 or 1-1 the messages node will disappear.

and use '\t' or '0x09',this is required for FCC to convert Tab de-limited file to XML.

Former Member
0 Kudos

Hello Raghuraman,

sorry it working data into all fields.if gave 0.1 in signature tab, sorry for previous comment.

But error is same. cannot create target element values missing in queue context.

Thanks,

s.k.prabhakar.

former_member190293
Active Contributor
0 Kudos

Hi Prabhakar!

Try to set '\t' as field separator.

Regards, Evgeniy.

Former Member
0 Kudos

Hi Evgeniy,

why '\t'.what is the use of it.

I gave '\t' as field separator but all fields date coming into onlt one field. like this

<emp_det>
<emp_id>103 PI Developer 300 4</emp_id>
</emp_det>

Thanks,

s.k.prabhakar.

Former Member
0 Kudos

Hi Evgeniy,

My .xml view having messages and message1 nodes automatically generated by sap.

But in my incoming payload these message and messages not coming is it any difference in that one.

This is my .xml view in mapping level.

This is my incoming payload from monitoring.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101</emp_id>
<department>PI</department>
<designation>Developer</designation>
<salary>100</salary>
<experiance>4</experiance>
</emp_det>

could you please help me i am not able to solve issue.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor

Prabhakar check my comments

Hello Prabhakar,

Since your Emp data is getting created multiple times i.e 0-n no need to change the occurrence in the mapping,change to 0-1 occurrence in the signature tab of mapping,so that the messages node will be removed.it will work.

former_member190293
Active Contributor
0 Kudos

It's another code for tab delimeter used in java, for example.

But I guess your FC works now.

Regards, Evgeniy.

Former Member
0 Kudos

yes Raghuraman i put message type is 0.1 one.it working all fields data coming properly

But this error not resolve.

Thanks,

s.k.prabhakar.

Former Member
0 Kudos

Hello Evgeniy,

My fcc working fine but i get error at mapping level.

.IllegalInstanceException; Cannot create target element /ns0:Messages. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one.

why this error coming i am not able to understand.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Prabhkar,

Check your operation mapping occurrence also,Messages node still exists?

Can you please post mapping screenshots.

former_member190293
Active Contributor
0 Kudos

Check your operation mapping as well. It should have the same cardinality as set in message mapping.

Regards, Evgeniy.

Former Member
0 Kudos

Hello raghuraman,

emp_det i put as 0.unbound so that's why messages nodes coming right.only i put my message type is i put as 0.1.

This is my operation mapping.

This is my message mapping.

all fields one to one mapping only.

thanks and best Regards,

s.k.prabhakar.

Former Member
0 Kudos

yes Evgeniy i make my message type in operation mapping also 0.1.

My scenario is Based on Department The payload should be spilt to particular department.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhkar,

Still message node exists,Why can you make the occurence to 0 -1.it will work.

former_member190293
Active Contributor
0 Kudos

Remove mapping for Messages and Message1 and check.

Regards, Evgeniy.

Former Member
0 Kudos

Yes Raghuraman,

Please check above message mapping screen shot i maked my target message type is 0.1.

But still why that messages nodes coming.

Thanks,

sk.prabhakar.

Former Member
0 Kudos

Hello Evnegiy,

I removed mapping for message and messages .file is moving from sender to Receiver but output file generated like this.

Thanks,

s.k.prabhakar.

Former Member
0 Kudos

hello Raghuraman,

Thank you very much to spend your valuble time now its working fine.

But how can i spilt payload based on department tell me.

Thanks and Best Regards,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

But as per the FCC screenshot,the field separator is empty.

Former Member
0 Kudos

Hello Raghuraman,

i used for tab separator. i copy paste the tab space from note pad and paste it there.like this.

This tab space i spaste in sender channel.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

This is wrong,Please check my above comment

Hello Prabhakar,

You cant test the file directly like this,Since its not XML.

Check your FCC field separator and assign tab value,it should be '0x09'.

The problem now is all the values are populated in a single emp_id field.

Former Member
0 Kudos

Hello Raghuraman,

I put 0x09 as field separator but still all data coming into emp_id field only.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101 PI Developer 100 4</emp_id>
</emp_det>
<emp_det>
<emp_id>102 ABAP Developer 100 4</emp_id>
</emp_det>

Regards,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

Put with quotes

'0x09'

Former Member
0 Kudos

Hello Raghuraman,

still no luck all fields date come into empi_id only.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101 PI Developer 100 4</emp_id>
</emp_det>.

can i delete all those objects and recreate it.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

yes and post the complete FCC and mapping,the new udpated one.

Former Member
0 Kudos

Hello Raghuraman,

Now its came all fields data.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101</emp_id>
<department>PI</department>
<designation>Developer</designation>
<salary>100</salary>
<experiance>4</experiance>
</emp_det>

But the error is same.

Cannot create target element /ns0:Messages. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one

This is my .xml view in message mapping.But in incomng payload messages and message1 nodes not coming only from message Type it coming. so check it once na my .xml and incoming payload structures.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

Except emp_Id no other fields are generated,tats why this error.

check on the below points.

1.File has the correct contents.

2.If space is the field separator use 0x20 or '0x20' for field separator in the FCC.

Former Member
0 Kudos

Hello Raghuramn,

my file having Tab delimited so i used Tab delimited in my sender channel configuration.

This is my text input file.

Thanks,

s.k.prabhakar.

Former Member
0 Kudos

Hello Raguraman,

when i test my text file in message mapping level. it showing content is not allowed in prolog.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

You cant test the file directly like this,Since its not XML.

Check your FCC field separator and assign tab value,it should be '0x09'.

The problem now is all the values are populated in a single emp_id field.

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

This seems to be missing value for department field.

Can you get the XML formed after FCC in the channel and check in mapping.

Former Member
0 Kudos

hello Raghuraman,

I got xml format in monitoring level and message mapping level.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>1 ABAP DEV 20 4</emp_id>
</emp_det>
<emp_det>
<emp_id>2 PI DEV 40 6</emp_id>
</emp_det>
</ns:e10738_payload_msg_input>.

Thanks,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhkar,

Instead of making the source structure occurence 0-unbounded you should change the emp_det as 0-unbounded.

Former Member
0 Kudos

Hello Raghuraman,

please help me to fix issue because i am working on it from 4 days.

I took soure emp_det is 0.unbound. But my incoming payload coming like this.all fileds data came into one emp_id field.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101 PI Developer 100 4</emp_id>
</emp_det>
<emp_det>
<emp_id>102 ABAP Developer 100 4</emp_id>
</emp_det>
<emp_det>
<emp_id>103 PI Developer 300 4</emp_id>
</emp_det>

please tell me how can i fix this issue soon.because i am trying to do this one more than 4 days.

please help to fix this error ASAP.

Thanks and Best Regards,

s.k.prabhakar.

former_member186851
Active Contributor
0 Kudos

Hello Prabhakar,

Change like below in FCC and try.

Recordset Structure emp_det,*

Former Member
0 Kudos

Hello Raghuraman,

This is my FCC sender channel.

Thanks,

s.k.prabhakar.

Former Member
0 Kudos

Hello Raguramn,

This is my source and Traget structures in mapping level.

This error i got at message mapping level.

MappingException: Mapping failed in runtimeRuntime Exception when executing application mapping program com/sap/xi/tf/_e10738_op_payload_mapping_; Details: com.sap.aii.mappingtool.tf7. IllegalInstanceException; Cannot create target element /ns0:e10738_payload_msg_onutput/emp_det/department. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one.

I am using ICO in ID configuration.

Thanks,

s.k.prabhakar.

former_member190293
Active Contributor
0 Kudos

Hi Prabhakar!

So that's why you get only one row in your xml. You should set it to * to get all rows from your file.

I guess that you use nested structure with repeating parent node, something like this:

<emp>
<emp_det>
</emp_det>
</emp>
...
<emp>
...
</emp>

Right?

Regards, Evgeniy.

Former Member
0 Kudos

Hi Evgeniy,

I agree with that one i chaned my file structure like this.

source message structure is 1.1. and Target message stracture is 0..unbound. But my message is in Scheduled state in message mapping level.

when i checked message log I got this error.

Cannot create target element /ns0:Messages. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one.

But i used only 1.1 mapping in my message mapping level.

Thanks and Regards,

s.k.prabhakar.

former_member190293
Active Contributor
0 Kudos

Hi Prabhakar!

You should take your payload and check it in message mapping.

Regards,Evgeniy.

Former Member
0 Kudos

Hi Evgeniy,

I took my input payload and i test in message mapping it showing this below error. and fields all are in RED state.

How can i resolve this error. whre i need to check to resolve it.

Thanks and Regards,

s.k.prabhakar.

former_member190293
Active Contributor
0 Kudos

Please provide your current payload and source XML structure from message mapping.

Regards, Evgeniy.

Former Member
0 Kudos

Hi Evgeniy,

This is my input pay load from message monitoring.

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101</emp_id>
<department>PI</department>
<designation>Developer</designation>
<salary>100</salary>
<experiance>4</experiance>
</emp_det>
<emp_det>
<emp_id>102</emp_id>
<department>ABAP</department>
<designation>Developer</designation>
<salary>100</salary>
<experiance>4</experiance>
</emp_det>
<emp_det>
<emp_id>103</emp_id>
<department>PI</department>
<designation>Developer</designation>
<salary>300</salary>
<experiance>4</experiance>
</emp_det>
<emp_det>
<emp_id>104</emp_id>
<department>HR</department>
<designation>HR</designation>
<salary>400</salary>
<experiance>4</experiance>
</emp_det>
<emp_det>
<emp_id>105</emp_id>
<department>PI</department>
<designation>Developer</designation>
<salary>500</salary>
<experiance>4</experiance>
</emp_det>

This is my source structure in message mapping

Thanks and regards,

s.k.prabhakar.

former_member190293
Active Contributor
0 Kudos

Wouldn't you please switch to test tab in message mapping and take screenshot of message source view. I mean, xml view.

Regards,Evgeniy.

Former Member
0 Kudos

Hi Evgeniy,

This my .xml view in test tab in message mapping

<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:e10738_payload_msg_input xmlns:ns1="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id/>
<department/>
<designation/>
<salary/>
<experiance/>
</emp_det>
</ns1:e10738_payload_msg_input>
</ns0:Message1>
</ns0:Messages>

But in incoming payload i did not get " Messages and Message1" Nodes.

i got incoming payload like this

<?xml version="1.0" encoding="utf-8"?>
<ns:e10738_payload_msg_input xmlns:ns="http://e10738_payload_msg_spilt_task">
<emp_det>
<emp_id>101</emp_id>
<department>PI</department>
<designation>Developer</designation>
<salary>100</salary>
<experiance>4</experiance>
</emp_det>

I am not getting messages node and messages1 nodes.

Thanks and Best Regards,

s.k.prabhakar.

Former Member
0 Kudos

Hai Evgeniy,

Thanks for your Reply,

i set "Recordset structure" parameter as "emp_det,1. because my target structure is 1:1.

This is my sender channel fcc configuration,

Thanks and Regards,

s.k.prabhakar.

former_member190293
Active Contributor
0 Kudos

Hi Prabhakar!

Did you set "Recordset structure" parameter as "emp_det,*"?

Regards, Evgeniy.

former_member190293
Active Contributor
0 Kudos

And please share your FCC configuration.

Regards, Evgeniy.