Файлы Excel — это наверное самый распространенный способ передачи различных данных. Очень часто для ввода большого объема информации пользуются именно ими. В случае, когда нужно не просто импортировать данные, но и выполнять их обработку необходимо реализовать ее в собственных разработках.
Для импорта файлов Excel есть несколько функциональных модулей, но столкнулись с ограничением на длинну текста из ячейки. Так например в модуле UPLOAD_XLS_FILE_2_ITAB ограничение в 256 символов, причем при наличии русских букв попадает только 128 (видимо что-то с unicode). В модуле ALSM_EXCEL_TO_INTERNAL_TABLE вообще длина поля таблицы в 50 символов (ALSMEX_TABLINE-VALUE).
При этом не редко появляется необходимость получать длинные тексты. Вполне возможно имеется новый класс или функциональный модуль, в котором данное ограничение устнанено, но, к сожалению, такого не нашел.
Чтобы решение было легко переносимым в другие системы просто скопировал структуру ALSMEX_TABLINE в структуру своего пространства имен и в поле VALUE указал другой элемент данных (к примеру CHAR1024). Осталось только скопировать модуль ALSM_EXCEL_TO_INTERNAL_TABLE и поменять тип таблицы INTERN на новую структуру.
Таким минимальным воздействием можно легко обойти ограничение на длину текста в ячейке Excel.
Данное решение выложил на https://github.com/valihan/ZTLCN_XLS