Текущее время: Пт, мар 29 2024, 18:38

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Результат работы метода CLIPBOARD_IMPORT класса CL_GUI_FRONTEND_SERVICES отличается в 731 и 750
СообщениеДобавлено: Пт, июн 30 2017, 11:19 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, авг 14 2009, 09:17
Сообщения: 91
Здравствуйте, коллеги.

Участвую в ABAP разработках в системе SAP BW (версия продукта SAP NetWeaver AS ABAP 7.31, SAP_BASIS 731, SAP_ABA 731). Сейчас планируем переход на версию продукта SAP NETWEAVER 7.5 (SAP_BASIS 750, SAP_ABA 750) и выполняем проверку работоспособности всех своих реализаций на версии 750. Использую SAP Logon Pad 740.

При тестировании разработки по загрузки данных из Excel при помощи метода «CLIPBOARD_IMPORT» класса «CL_GUI_FRONTEND_SERVICES» выяснилось, что результат работы данного метода отличается в версиях 731 и 750.

Структура данных Excel файла фрагментирована, последовательно с вверху вниз идут области данных. Каждая область данных содержит область заголовка и предваряется техническим именем области. Например,
T_RANGE1
Код | Дата начала действия | Версия | Наименование | Полное наименование
0001| 20130611 | 001 | Яблоки | Молдавские яблоки
0002| 20130611 | 001 | Яблоки | Яблоки зелённые
T_RANGE2
Код | Дата начала действия | Версия | Атрибуты
0001| 20130611 | 001 | Вес
0001| 20130611 | 001 | Цена

Разница результатов работы выше указанного метода заключается в том, что когда длина строки в Excel получается длинной, то в версии 750 выше указанный метод отдаёт длинную строку из Excel в виде двух строк в отличии от версии 731. Приведу пример на уже выше указанном примере данных в Excel. Пример выше указанных данных очень упрощён, но думаю будет понятно. Реальная первая область данных T_RANGE1 содержит область заголовка с наименованиями, состоящую из 135 полей, длина строки из этих наименований полей получается приличной в отличии от длины строки полученной из области с данными области T_RANGE1, поэтому выше указанный метод область заголовка отдаёт в виде двух строк, а строку области данных отдаёт в виде одной строки. Вторая область данных T_RANGE2 покороче, поэтому выше указанный метод каждую область по ней отдаёт в виде одной строки.

В версии 750 будет так:
T_RANGE1####
Код#Дата начала действия#Версия
Наименование#Полное наименование
0001#20130611#001#Яблоки#Молдавские яблоки
0002#20130611#001#Яблоки#Яблоки зелённые
T_RANGE2###
Код#Дата начала действия#Версия#Атрибуты
0001#20130611#001#Вес
0001#20130611#001#Цена

В версии 731 будет так:
T_RANGE1####
Код#Дата начала действия#Версия#Наименование#Полное наименование
0001#20130611#001#Яблоки#Молдавские яблоки
0002#20130611#001#Яблоки#Яблоки зелённые
T_RANGE2###
Код#Дата начала действия#Версия#Атрибуты
0001#20130611#001#Вес
0001#20130611#001#Цена

Сам пока не понял почему результаты работы выше указанного метода отличаются на версиях 731 и 750. Ищу решение данной проблемы для версии 750. Может быть ноту надо поставить или версию SAP Logon поменять….

Заранее благодарен за любую помощь.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Результат работы метода CLIPBOARD_IMPORT класса CL_GUI_FRONTEND_SERVICES отличается в 731 и 750
СообщениеДобавлено: Чт, фев 22 2018, 08:28 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 18 2012, 09:10
Сообщения: 12
Привет.
Проблема была решена? как?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Результат работы метода CLIPBOARD_IMPORT класса CL_GUI_FRONTEND_SERVICES отличается в 731 и 750
СообщениеДобавлено: Пн, фев 25 2019, 19:53 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 08:36
Сообщения: 182
Откуда: Russia
Пол: Мужской
А какой тип у параметра DATA в методе CLIPBOARD_IMPORT?
Предположу следующее.
В методе
CALL METHOD cl_gui_frontend_services=>clipboard_export
параметр DATA определен как TYPE STANDARD TABLE. Не знаю как это работало в предыдущих версиях, но в 7.5 работает так:
В вызывающей программе объявляется таблица с одним символьным полем длиной 100 знаков.
Если в буфере обмена содержится строка длиной менее 100 символов, то в таблице вернется одна строка, если больше 100 знаков, то вернется две строки, что при "разборе" excel будет не совсем корректно. Поэтому и спрашиваю про тип, может он определяется динамически и некорректно перед вызовом CLIPBOARD_IMPORT. Может просто надо аккуратно расширить длину таблицы. Но если таблица объявлена как itab TYPE STANDARD TABLE OF string, то метод зависает и больше не работает. А так бы string таблица была бы идеальна

_________________
С Уважением Серега


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB