Flat File Import

hello, I’m trying to import a flat file from a client for an item master load.
Each item has 3 rows (MSH,ZIT,ZIN)
Each file can have multiple items.

The format similar to this.

MSH|field1|field2…
ZIT|field1|field2…
ZIN|field1|field2…
MSH|field1|field2…
ZIT|field1|field2…
ZIN|field1|field2…
MSH|field1|field2…
ZIT|field1|field2…
ZIN|field1|field2…

it doesn’t appear that putting the layout in one dictionary will work so I created a dictionary for each MSH, ZIT, ZIN.
Each dictionary basically has a record definition of MSH (or ZIT or ZIN) with two field definitions defined beginning at 0 and 1.

I then created a schema with a record definition called “recordWithNoID” (unlimited repeats) under this record definition I added 3 record references which reference the 3 dictionaries I created.
In the definition section of the schema I set it to delimited and set the delimiters.
When I save the schema it gives me 2 errors:
Must have a record delimiter when using delimted record parser
Must have a field delimiter defined when using Nth field extractors.

Why won’t it let me save the schema and am I headed in the right direction?

One of my co-workers recommended for the MSH, ZIT and ZIN to set them up as composite fields but I will actually have some composite fields in the full file.

Any help would be appreciated. We use XML all the time but don’t do a lot of flat files and the documentation doesn’t show much detail when you have 3 repeating rows.

The dictionary doesn’t define the layout of the file. It defines fields and records. You can put all 3 record definitions into one dictionary.

Don’t use recordWithNoID–your records have IDs.

Don’t try to define the records as composite fields–that’s not what they are.

In the schema defintion, use MSH as the “parent” record with ZIT and ZIN as children.

Try that and if you encounter errors post again with the specific dictionary and schema settings you are using.

thanks Reamon, using MSH as the parent sounds like a great idea.