Текущее время: Чт, июл 31 2025, 17:36

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


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

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


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

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