SAPфорум.RU https://sapboard.ru/forum/ |
|
Строка поиска для ИНН в выписке MT940 https://sapboard.ru/forum/viewtopic.php?f=5&t=94453 |
Страница 1 из 1 |
Автор: | WillyWonka [ Ср, фев 22 2017, 13:53 ] |
Заголовок сообщения: | Строка поиска для ИНН в выписке MT940 |
Впервые сталкиваюсь с созданием строки поиска, возможно, упустила какой-то нюанс. Задача состоит в том, что нужно найти ИНН в выписке (формат MT940 с структурированным 86 полем) и подставить его в поле FEBEP-INFO1. ИНН лежит в 86 поле в подстроке 60, в качестве разделителя используется знак ? Настроила строку поиска ?60########## Мэппинг отрабатывает корректо, т.е. если подать значение ?606025000620?618430?62?63? то мэппится значение 6025000620, что верно. Но при загрузке выписки в поле FEBEP-INFO1 попадает значение 2500062084 Подскажите, пожалуйста, как заставить записывать значение после первого числа 60? |
Автор: | darkduck [ Ср, фев 22 2017, 16:43 ] |
Заголовок сообщения: | Re: Search string для поиска ИНН в выписке MT940 |
У Вас 60 в строке встречается 2 раза, а ? по умолчанию - любой символ. Поэтому при загрузке выписки строка отрабатывает 2 раза, и в значение поля записывается черт знает что. Чтобы искать именно ?, нужно перед ним поставить escape symbol \. Попробуйте настроить строку поиска \ -> (пусто) ? -> (пусто) 6 -> (пусто) 0 -> (пусто) # -> # # -> # # -> # # -> # # -> # # -> # # -> # # -> # # -> # # -> # |
Автор: | darkduck [ Пт, фев 24 2017, 10:53 ] |
Заголовок сообщения: | Re: Строка поиска для ИНН в выписке MT940 |
Кстати, ИНН может быть еще и 11-значным. Вы про это думали? |
Автор: | WillyWonka [ Вт, фев 28 2017, 15:41 ] |
Заголовок сообщения: | Re: Строка поиска для ИНН в выписке MT940 |
Конечно подумали. Планировали создать к одной внешней операции 2 строки поиска для 10 символов в ИНН и 12 символов в ИНН для физлиц и ИП. Попробовали настроить строку поиска, как вы советуете, система объединяет знаки \? в одном поле "Источник" и получается то же самое. \? -> (пусто) 6 -> (пусто) 0 -> (пусто) # -> # # -> # # -> # # -> # # -> # # -> # # -> # # -> # # -> # # -> # Примечательно, что с ИНН, которые начинаются на другие цифры (не 60) строка поиска не срабатывает вообще при загрузке, хотя при тесте мэппится как надо. Написали user-exit, который просто берет все символы между ?60 и ?61 |
Автор: | darkduck [ Вт, фев 28 2017, 16:44 ] |
Заголовок сообщения: | Re: Строка поиска для ИНН в выписке MT940 |
А Вы выписку загружаете как 86-структурированную или неструктурированную? Возможно, Ваша строка не отрабатывает, потому что при "структуризации" "?60" вообще выкидывается из содержимого. Тогда нужно искать просто 10- или 12-значные цифровые строки. |
Автор: | WillyWonka [ Ср, мар 01 2017, 01:39 ] |
Заголовок сообщения: | Re: Строка поиска для ИНН в выписке MT940 |
Загружаем как 86-структурированную. Вы правы, похоже, причина именно в этом. Если искать по цифровым строкам, то можем наткнуться на подстроку ?61, в которой хранится номер пп, который вполне может быть 10-значным. Решили проблему user-exit'ом, который берет все цифры после ?60 и до ?61 (сколько бы их ни было) и кладет в FEBEP-INFO1 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |