Я работаю над умеренно сложной схемой плоских файлов, и у меня был кривый шар, брошенный на меня. Вот то, что вход выглядит следующим образом:Проблема с отображением Biztalk, идеи
BCT121, C, 7.35,6.5,0.39,7216, "СМИТ, Трэйси", 13456321, CLASS швейном SHOPPE, CLASS швейном SHOPPE, VAN, BC, 20090109,20090112,20090127, V , 0,46, BCT121, C, 14,7,13,01,0,78,7216, «SMITH, TRACEY», 13456321, CLASS DRESSMAKING SHOPPE, CLASS DRESSMAKING SHOPPE, VAN, BC, 20090110,20090112,20090127, V, 0.91, BCT121, C , 60,27,53,34,3,2,5812, «СМИТ, ТРЕЙСИ», 13456321, ПИЛЗА ПИЦЦЫ ME-N-ED, ПИЛЗА ПИЦЦЫ ME-N-ED, VAN, BC, 20090110,20090112,20090127, V, 3,73, BCT121, C, 201,56,179,96,0,5200, «SMITH, TRACEY», 13456321, ДОМАШНИЙ ДЕПОЗ № 7145, ДОМАШНИЙ ДЕПОЗ № 7145, ВАН, БК, 20090110,20090112,20090127, V, 21.6, REF. #^1^
Хорошо, поэтому выход, который хочет клиент, следующее:
1 строка заголовка под названием PRQT для каждого человека/номер карты и строка для каждой из транзакций выше .. поэтому для Tracy у нас будет 1 линия PRQT и 4 строки PRLN, которые являются данными транзакции. ., так что это будет выглядеть как что-то вроде:
PRQT, SMIT6321, 13456321, детали, детали и т.д.
PRLN, SMIT6321,7.35, 6,5 и т.д. и т.п.
PRLN, SMIT6321, 14,7 , 13.01 и т. Д.
PRLN и т. Д. И т. Д.
PRLN и т.д. и т.п.
нормально, так что моя основная проблема заключается в том, чтобы вставить только один prqt запись для заголовка? Я смотрю на логические функционалы, чтобы увидеть, есть ли они, которые могут посмотреть, было ли создано существующее значение для выходной схемы. Моим первичным ключом является SMIT6321 (фамилия + последние четыре цифры номера карты). Так что, в основном, если бы я кодировал это в C#, я бы создал массив ранее вставленных ключей PRQT, и в течение моего цикла я бы посмотрел на это, когда я натолкнулся, чтобы увидеть, если я уже создал запись. Если бы я уже создал, я бы пропустил, поэтому я не создал дубликат записи PRQT. Обратите внимание, что записи создаются в хронологическом порядке в исходном документе, поэтому вышеупомянутые записи, вероятно, будут перемешаны, а не последовательны, как пример выше.
Может ли кто-нибудь указать мне правильное направление? Какие функциоиды следует использовать? Может ли Biztalk Mapper обрабатывать подобные вещи? Я уверен, что это может ... Мне просто нужно понять это.
спасибо,
Эрик
благодарит за ответ. Я закончил использовать пользовательский XSLT, и, хотя изначально было немного сложно понять, он оказался довольно прямым. Я закончил тем, что использовал фильтр, а затем зацикливал (для каждого) все мои записи, чтобы получить желаемый результат выше. еще раз спасибо. –