Текущее время: Чт, мар 28 2024, 20:28

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot], Yandex [Bot]


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

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