Когда я пытаюсь прочитать X12 204 с использованием EDI Fabric, я получаю "Неверное имя узла: ST", но файл правильно сформирован. Есть идеи почему?
Вот пример 204, который я сделал. Он проверяется с помощью пары различных инструментов проверки (EDI Notepad и Altova), но когда я пытаюсь использовать EDI-матрицу для его анализа, он получает данные ISA и GS просто отлично, но затем выдает ошибки с "Invalid Node Name: ST".
Я не могу понять, почему, какие-либо идеи?
ISA*ZZ* *ZZ* *ZZ*XXXX *ZZ*YYYY *170130*1025*U*00401*485789958*0*P*~
GS*SM*YYYY*XXXX*20170130*1027*485790079*X*004010
ST*204*485790093
B2**YYYY**123456789**CC
B2A*00
L11*123456789*CR
S5*1*LD
G62*64*20160131*1*1351
SE*7*485790093
GE*1*485790079
IEA*1*485789958
Вот код:
internal static void Parse204(FileStream file,
List<MyCompany.TruckRouteInfo> result)
{
var reader = EdiFabric.Framework.Readers.X12Reader.Create(file);
file.Flush();
var qEdiItems = reader.ReadToEnd();
var ediItems = qEdiItems.ToList();
var m204 = ediItems.OfType<M_204>().ToList();
foreach (var item in m204)
{
MyCompany.TruckRouteInfo stop = new MyCompany.TruckRouteInfo ();
foreach (var l11 in item.S_L11)
{
if (l11.D_128_2 == EdiFabric.Rules.X12004010204.X12_ID_128.CR)
{
stop.Reference1 = l11.D_127_1;
}
}
result.Add(stop);
}
}
1 ответ
Я буквально скопировал ваш пример и вставил его в файл, который был обработан нормально. Работает на моей машине:) Мое лучшее предположение было бы открыть файл и проверить терминаторы строки на наличие любых несоответствий, которые могли быть отсортированы, когда я скопировал \ вставил его.