Альтова горизонтальный сплит
Я пытаюсь разбить повторяющуюся строку в файле Tradacoms Edi.
У меня есть строка, как показано ниже
DNC+14+1+1++268:2758005:268:2758006
Я хотел бы разделить это на основе кода: 268. Таким образом, я должен получить 2 строки (2758005, 2758006)
Я использую фильтр rtex, чтобы вытащить значение для 268. Тем не менее, он только вытягивает первое значение (278005)
Любые идеи о том, как их правильно разделить?
- Алан -
1 ответ
Способ сделать это правильно - использовать версию Mapforce для предприятия. Вместо того чтобы использовать инструменты для разделения файла, прочитайте файл, настроив ввод EDI и выбрав правильную версию стандарта.
Он очистит компонент слева со всем, что помечено и в правильных полях. Тогда вы можете идеально сопоставить это с тем, что вы хотите.
В противном случае, вы можете использовать варианты строковых функций для этого. Но это будет невероятно грязно. Вы действительно должны использовать EDI, чтобы сделать EDI. Если вы не можете получить правильную версию mapforce, то есть бесплатные инструменты x11, которые преобразуют ее в XML. Вот бесплатный с открытым исходным кодом. https://x12parser.codeplex.com/documentation
Оттуда с помощью mapforce вы можете добавить XML-вход (mapforce может сгенерировать XSD для вас) и начать отображение оттуда. Либо для меня это гораздо лучше, чем просто разбивать строки, что сводит на нет фактическую реализацию mapforce для обработки всей логики / дерьма за вас.
Ура,
Вальтер.