Текущее время: Пт, авг 01 2025, 14:53

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 15:20 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Есть поле со списком, нарисовано на форме в редакторе

объявлено в программе, как

Types: begin of FieldData.
INCLUDE STRUCTURE TAB512.
types FieldType type DD03L-DATATYPE.
types end of FieldData.

data FIELD_VALUES type table of FieldData with header line.


программно заношу в эту таблицу (в FIELD_VALUES) значения и с помощью VRM_SET_VALUES экспортю таблицу значений в поле
если смотреть под отладчиком, то всё ок и списке на экране тоже отображается ОК

однако, когда выбираю значение из списка то средой АВТОМАТОМ, в рабочую область - в моём примере это FieldData-WA - попадают только 20 первых символов выбранного значения. Как выход - можно прочитать через Read table FIELD_VALUES index xxx , но я не знаю как получить индекс выбранного элемента в поле-списке - в sy что то не попадает ничего по этому поводу (например, пробовал LISTI, LSIND и тд).

Помогите? :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 16:01 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Попробуйте более внятно сформулировать.
Пока не ясно, что у вас ОК на экране, когда
Code:
BEGIN OF VRM_VALUE,
         KEY(40) TYPE C,
         TEXT(80) TYPE C,
       END OF VRM_VALUE,

и вы передаете в одно из этих полей строку в 512 символов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 16:04 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 07 2009, 10:23
Сообщения: 51
Пол: Мужской
AlexyeNov написал(а):
но я не знаю как получить индекс выбранного элемента в поле-списке - в sy что то не попадает ничего по этому поводу (например, пробовал LISTI, LSIND и тд).


а GET CURSOR LINE <line> здесь не сработает?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 16:51 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Пономарев Артем написал:
Попробуйте более внятно сформулировать.
Пока не ясно, что у вас ОК на экране, когда
Code:
BEGIN OF VRM_VALUE,
         KEY(40) TYPE C,
         TEXT(80) TYPE C,
       END OF VRM_VALUE,

и вы передаете в одно из этих полей строку в 512 символов.



вот картинка :
http://s54.radikal.ru/i143/0906/ae/16412fe28ce4.jpg

Когда выбираю значение в списке под верхней левой кнопкой "Выбрать поле", то отрабатывает PAI событие, в котором я читаю выбранное значение. При чтении этого значения сап обрубает его на 20 символов - это видно в Message на скрине.

Вот в скрины дебага в PAI после выборки. Видно, что значение поля режется на 20 символов :
http://s58.radikal.ru/i162/0906/52/9674aebf2a1e.jpg
в то время, как реально данные лежат нормальные :
http://s61.radikal.ru/i174/0906/cd/bcf897dbc7ef.jpg

кусок кода PBO, который заносит значения :

if FValues[] is not INITIAL.
sort FValues by wa.
delete ADJACENT DUPLICATES FROM FValues." comparing wa.
sort FValues by wa.
loop at FValues.
value_vrm-KEY = FValues-wa.
value_vrm-TEXT = FValues-wa.
APPEND value_vrm TO VALUES_vrm.
endloop.
endif.

CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'FIELD_VALUES'
values = values_vrm.
FIELD_VALUES[] = FValues[].

Вообще, с кодом всё нормально вроде - проблема именно с рабочей областью, которую САП сам заполняет.
То что, только 80 символов можно передать в поле и 40 в ключ я знаю, но мне столько и не нужно реально :) А вот 20 маловато будет :lol:


darkvolk написал:
AlexyeNov написал(а):
но я не знаю как получить индекс выбранного элемента в поле-списке - в sy что то не попадает ничего по этому поводу (например, пробовал LISTI, LSIND и тд).


а GET CURSOR LINE <line> здесь не сработает?


Сейчас проверил - нет, тоже не работает.

Думаю кстати есть решение - нужно в ключ (value_vrm-KEY) пихать текущий элемент массива и тогда этого хватит на всё, а потом просто читать по индексу ключа в таблице. Щас сделаю и напишу что получилось.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 17:17 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
Да, короче получилось.
Храню в ключе VRM номер элемента массива и после выборки читаю массив, из него беру значение. Всё ок теперь.

Правда, всё равно не понятно, почему САП режет ключ на 20 символов вместо 40 VRM :)))))) - может, UNICODE делает свою работу?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 18:00 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, мар 03 2009, 12:33
Сообщения: 141
:idea:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Чт, июн 18 2009, 21:16 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 07 2009, 10:23
Сообщения: 51
Пол: Мужской
AlexyeNov написал(а):
Правда, всё равно не понятно, почему САП режет ключ на 20 символов вместо 40 VRM :)))))) - может, UNICODE делает свою работу?


На самом деле под отладкой смотреть урезание тоже бессмысленно - ибо он в отладке показывает не полные, а урезанные строки...
Тоже в своё время нарвался - когда в ALV-ху попадали обкоцанные строки, под отладкой они тоже выглядели порезанными, но в реальности были полными...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с полем-списком
СообщениеДобавлено: Пт, июн 19 2009, 13:18 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 01 2009, 11:53
Сообщения: 13
darkvolk написал:
На самом деле под отладкой смотреть урезание тоже бессмысленно - ибо он в отладке показывает не полные, а урезанные строки...
Тоже в своё время нарвался - когда в ALV-ху попадали обкоцанные строки, под отладкой они тоже выглядели порезанными, но в реальности были полными...



Не только под отладкой урезает - я там скрин выше выкладывал с Message :)


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

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


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

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


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

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