cancel
Showing results for 
Search instead for 
Did you mean: 

A number of questions regarding my interface (new sfcv, importing SI to BS, content conversion)

former_member233999
Participant
0 Kudos

Hi Experts.

I've got a new software version of a pre existing external software for a pre existing interface. This existing interface didn't do what the business wanted (split tax over line items), so I've decided to develop a new Interface.


The interfaces is a Flat file (tab csv) to proxy. But just to get it working/ testing, I'm initially going to do CSV to XML, just to prove my new SWCV works and my content conversion is OK.

IN the SLD I created a new Software component version, the original is called saffron v.1, this new one is called saffron v2.0. In SLD I assigned the business sytems that exist in SWCV 1.0 to 2.0 as ultimately I don't think I should have to create new instances of the TS/BS. Correct me if I am wrong.

The Sender:

The receiver:

I imported the New SWCV into ESR.  I began creating the DT/MT and SI for the sender, then the same for the receiver. I've done the basic mapping/ OM.

I've activated it all. And am now in the Business system and when I double click on the business system name, to see the interfaces in the sender tab I can see the SI that's assigned to my new business system. But when clicking the receiver tab I cannot see that new SI. I was able to create a Integrated Config for the scenario / test it. But it bothers me that I cant see the receiver SI in the business system....This is my first question -


Should I be able to see it?

Secondly, I wasn't sure about the content conversion and running in a test shows me I've messed this up a bit. My source fields:

My sample Invoice file:

The file will contain multiple invoices and the field that will tell PI it is a new line is the Value 'INV'

My XSD for the source MT is attached as a txt file.

My File content conversion is split over two images due to the length of the FCC:


I ran in a test file and am getting the error:

This suggests that the xml.keyfieldName is missing, but I'm not sure what should be that field in my dt/mt's?  I've had a look at existing FCC we've got and nothing states the xml.keyfieldName ?

Many thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member182412
Active Contributor
0 Kudos

Hi George,

Did you create the interface with category inbound for your receiver service interface??

Regards,

Praveen.

former_member233999
Participant
0 Kudos

Yes, its inbound.

former_member186851
Active Contributor
0 Kudos

Hello Geroge,

For the first issue refresh the cache in ID, Interfaces should appear.

For keyfield name it should be like unique identifier for each row of record. Refer the below link

former_member233999
Participant
0 Kudos

I have refreshed CACHE. Still only sender SI appears..

I will have a read of those documents, thankyou.

Does my XSD / structure look OK given the source?

former_member186851
Active Contributor
0 Kudos

That's strange.

Make sure the new interface is created under Saffron 2.0 SWCV.

And Structure seems to be ok, Anyways if any issue comes after sorting the key field name lets c.

former_member233999
Participant
0 Kudos

HI

Ive set my Cc to

But now get:

Any ideas?

former_member186851
Active Contributor
0 Kudos

Hello George.

Declare fieldseparator in quotes ‘0x09’

former_member233999
Participant
0 Kudos

Thanks, I also misspelt separator = separator

former_member186851
Active Contributor
0 Kudos


ok..George.Even I didn;t notice.is that working?

former_member233999
Participant
0 Kudos

Thanks for your help so far.

Interesting. It picks the file up. But it isn't writing it out to an XML as per my Integrated Config.

The message is written to a archive director as specified. But not written out by the receiver file adaptor.

In mesmon its said its picked up the file:

But its not in my outbound/receiver directory.

I've tried opening all the design, re reading operations, changed the config description then saved to reactivate it. But still not getting an outbound.

former_member186851
Active Contributor
0 Kudos

Are you getting any error in the message monitoring or in the Receiver file channel monitoring?

former_member233999
Participant
0 Kudos

I've found some logs in the NWA log area. It says the source file is empty. As you've seen it is not empty....

former_member186851
Active Contributor
0 Kudos

Instead of excel file just try with text file and check once,I mean copy the contents in notepad and try.

former_member233999
Participant
0 Kudos

I thought id made a mistake and removed column 1 in teh source file that has the X / Gl / INV / but ran this in and got the same error.

I then thought I might have the key fields specified incorrectly so made them match the names in the data file... So changed the fcc so the key field name included inv, gl and tax..

#

But still no luck.

former_member186851
Active Contributor
0 Kudos

In the keyfieldname give some name as key.

Add the same in the source structure.

Define values for it like INV,GL and TAX as per the input payload.

former_member233999
Participant
0 Kudos

I have done this:

And as per original post the xsd shows I use those keyfields as the dts for my design..

former_member186851
Active Contributor
0 Kudos

ok..Should work..

former_member182412
Active Contributor
0 Kudos

Hi George,

  • INV.keyFieldName, GL.keyFieldName,TAX.keyFieldName is missing
  • Record sets per message should be * not 1

Regards,

Praveen.

former_member233999
Participant
0 Kudos

Why would I have that when Ive specified the recordset structure as INV,1,GL,*,TAX,8 and then in the :

former_member186851
Active Contributor
0 Kudos

I am not seeing anything wrong.

What is the status now Geroge?

former_member233999
Participant
0 Kudos

Hi


Still getting the same error in NWA..

source file:

former_member186851
Active Contributor
0 Kudos

George ,

Try the below things.

Keep the recordset as *

Add the keyfield in the structure or ignore it using the below parameter.

NameA.keyFieldInStructure

Converting Text Format in the Sender File/FTP Adapter to XML - Advanced Adapter Engine - SAP Library

former_member233999
Participant
0 Kudos

I've tried processing mode as UTF 8 and binary(and saved the file as utf 8 etc) , still getting the same .

former_member186851
Active Contributor
0 Kudos

Try those 2 checkpoints mentioned George.

former_member233999
Participant
0 Kudos

Same error.

Additionally. HAve tried file processing type FILE & BINARY


Have now tried both UTF8 and binary. Still getting the same.

former_member186851
Active Contributor
0 Kudos

Okay,

You have mentioned keyfield in the fieldnames,Did you add it in the structure If not remove it from field names.

And try with someother file and see if its working.

Still not working post all ur new changed FCC parameters will valdiate once again.

former_member233999
Participant
0 Kudos

I was advised to try doing 1 level at a time, so I rebuild the dt/mt and did the inv level. I got the inv level working and have ingested a utf8 file and exported a xml....

As seen here:

However, when I created a 2nd instance, using 2 tiers, the INV and GL. When running the file in I only get the GL stuff out and the message sits in Mesmon with the generic mapping error:

It suggests that a values missing in the queue context. So I went into the MesMapping and ran through a set of tests. It passed data for all fields, xml tags included. So not sure if this is a red herring.

When I examine the xml here, it has also only parsed the GL tags and missed the INV header tag:

Which is odd, as in the 1 tier it passed INV ok. At least it passes multiple instances of GL tag, which is a bonus.

Some  more input would be gratefully received...

former_member186851
Active Contributor
0 Kudos

George,

Try with record set as *,Guess thats stopping ur progress

former_member233999
Participant
0 Kudos

I've tried that. It didn't work.


When I set it to 1, it worked ok. Odd. So I checked my source DT/MT and noticed that my Source DT and MT were incorrectly bounded. I.e. I had the fields within the INV se to 1 - unbounded, but they should be set to 1, and not unbounded. The recordset file should only be the field set to 1-unbounded as I am expecting multiple files per .csv file.

It still doesn't work and am now getting a mapping error...

I don't understand as my mapping is 1:1 direct mapping:

My source file has no gaps, no misplaced pipes, so should be OK . Cant understand why its saying that it cant create the target element /ns1:saffroninvoicefile/INV  and that values are missing. when theyre quite clearly being passed.. As per:

And as you can see my queue context is passing the value..

Any ideas?

former_member186851
Active Contributor
0 Kudos

Hello George,

This could be due to name mismatches in the XML and the FCC..

compare it and if you can post the recent FCC and XML generated can you check on that further.

former_member233999
Participant
0 Kudos

HI


Thanks for your persistence with this, much appreciated !

When I post with Recordset Structure for the GL field sets to 1, It works, as per the image below, my xml.

But as I want to have more than 1 GL node I have to have the recordset structure set to *.
That is when I get the mapping error.

My FCC is:

former_member186851
Active Contributor
0 Kudos

Hello George,

Did you try like this INV,1,GL,*

It should work and for error cases since your getting error @ mapping XML should be formed.Check that.

and the error being thrown is for INV field which means its not because of GL fields.

former_member233999
Participant
0 Kudos

Hi


Yes as per the image, I do have it like:    INV,1,GL,*

when I specify it like that is when I get the mapping issue !!  When I specify it as INV,1,GL1, it works but I can then only have 1 GL line item when I am expecting to receive many.

OK that makes sense. I just find it a bit odd that when adding in the GL stuff It causes the INV bit to error when alone, the INV piece works...


Anyway, I checked the INV bit. and the mapping works with the GL data in the Messagemapping test:

former_member186851
Active Contributor
0 Kudos

Hello George,

Guess could be this way.

I can see 2 INV records in the file you shared.Might you are giving 1 which might cause an error.

Apart from that am not seeing any issue.

Can you share the XML generated while giving *

former_member233999
Participant
0 Kudos

Hi,


The below is when I've got the INV,1,GL,* set in FCC.

Below is image of xml that is in MEsMon, this is the xml that contains the queue context mapping error.

AS you can see, no INV header exists in this..

former_member186851
Active Contributor
0 Kudos

Try keeping the recorset sequnce as variable and check.

former_member233999
Participant
0 Kudos

Yes, tried both variable and ascending.

Still the same.

former_member186851
Active Contributor
0 Kudos

George,

Last try ,compare with the below link.I am not finding anything wrong,Just check once

XI/PI: File Content Conversion for Complex Structures