Файл EDI для передачи плоского файла с разделителями

Я ищу любые полезные ссылки или советы по переводу входящего EDI 940 (X12) в (|) плоский файл с разделителями каналов в c#.net


person djshortbus    schedule 02.03.2010    source источник


Ответы (2)


Моя техника может показаться довольно сложной для однократного перевода, но вот она:

Шаг #1: X12 ------------- [Программа предварительного разбора] ---> Синтаксис X12 XML

Шаг № 2: Синтаксис X12 XML --> [940 Parsing XSLT] ------> 940 XML

Шаг № 3: 940 XML --------> [Mapping XSLT] ----------> ваш FF XML

Шаг № 4: ваш FF XML ----> [Сериализация XLST] ------> ваш FF

Шаг № 1: «Синтаксис XML X12» — это очень простая грамматика, показывающая только СИНТАКСИС X12, поэтому [Программа предварительного синтаксического анализа] чрезвычайно проста и может использоваться для любого X12.

Шаг № 2: «940 XML» имеет грамматику, которая полностью описывает структуру 940. [940 Parsing XSLT] — это место, где вы выражаете конкретную структуру 940.

Шаг № 3: [Mapping XSLT] преобразует структуру 940 в структуру вашего FF, выраженную в XML.

Шаг № 4: Наконец, [Сериализация XLST] создает ваш FF на основе его XML-версии.

Основным преимуществом этой архитектуры является ее (1) открытость - основные части находятся в XSLT, который может быть выполнен с любым языком программирования с использованием различных библиотек XML/XLST, и ее (2) масштабируемость, в конце концов, вы преобразуете любой формат в любом формате ;-)

Если бы вы могли загрузить куда-нибудь простой образец сообщения 940 И его перевод в вашу структуру FF - это вы должны сделать вручную с помощью Блокнота ;-) - у меня было бы время проиллюстрировать мою технику - по крайней мере, дать вам 3 сценария XLST нужный ;-)

person Babelabout    schedule 03.03.2010

Преобразование сообщения EDI в плоский файл — плохая идея, вы, вероятно, потеряете данные и смысл сообщения. Вот почему EDI существует в первую очередь

Некоторые идеи для разбора EDI

http://www.codeproject.com/KB/XML/edix.aspx

http://www.edidev.com/index.htm

Или у Microsoft BizTalk есть коннекторы и для этого.

person TFD    schedule 02.03.2010
comment
Я работаю младшим программистом в логистической компании, и наши клиенты отправляют заказы через EDI, а наше программное обеспечение WMS может обрабатывать только плоские файлы. - person djshortbus; 03.03.2010