Текущее время: Вс, сен 21 2025, 02:44

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Замена значений в средстве поиска
СообщениеДобавлено: Чт, май 24 2007, 17:39 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Здравствуйте!

Добавляю ФМ в средство поиска. Анализирую в нем введенные значения в поля сре-ва поиска. Если значения введены появляются записи во внутренней табличке:
SHLP-SELOPT

Вопрос: если поправить данную табличку вручную, то данные не сохраняются - поиск осуществляется по первому значению, значение на экране в поле ср-ва поиска также не изменяется.... как можно подменять исходное значение?

связано это со следующим:
создал свое ср-во поиска, и при вводе строки поиска на русском языке последняя буква почему то не вмещается и заменяется знаком # при просмотре отладчиком в SHLP-SELOPT, соответственно ничего не находит... если вводить последний символ на английском языке - то он нормально передается....
элемент данных: CJTRANSTXT ... странный глюк какой то...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 25 2007, 15:32 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
никто не пробовал?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 25 2007, 15:47 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Вы на каком step правите?

Мне надо было заполнить чать полей, делал на шаге PRESEL1, предварительно прочитав из формы SH
Цитата:
*"----------------------------------------------------------------------
* STEP PRESEL (Enter selection conditions)
*"----------------------------------------------------------------------
* This step allows you, to influence the selection conditions either
* before they are displayed or in order to skip the dialog completely.
* If you want to skip the dialog, you should change CALLCONTROL-STEP
* to 'SELECT'.
* Normaly only SHLP-SELOPT should be changed in this step.
IF CALLCONTROL-STEP = 'PRESEL'.
* PERFORM PRESEL ..........
EXIT.
ENDIF.

IF CALLCONTROL-STEP = 'PRESEL1'.

DYFIELDS-FIELDNAME = c_werks.
APPEND DYFIELDS.
DYFIELDS-FIELDNAME = c_stort.
APPEND DYFIELDS.

CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = ENV_INFO-SUBPROG
DYNUMB = ENV_INFO-SUBDYNP
TABLES
DYNPFIELDS = DYFIELDS
EXCEPTIONS
invalid_abapworkarea = 01
invalid_dynprofield = 02
invalid_dynproname = 03
invalid_dynpronummer = 04
invalid_request = 05
no_fielddescription = 06
undefind_error = 07.

CHECK SY-SUBRC IS INITIAL.

w_selopt-sign = 'I'.
w_selopt-option = 'EQ'.
LOOP AT DYFIELDS.
CHECK NOT DYFIELDS-FIELDVALUE IS INITIAL.

CASE DYFIELDS-FIELDNAME.
WHEN c_werks.
w_selopt-shlpfield = 'WERKS'.
w_selopt-low = DYFIELDS-FIELDVALUE.
append w_selopt to shlp-selopt.
WHEN c_stort.
w_selopt-shlpfield = 'STORT'.
w_selopt-low = DYFIELDS-FIELDVALUE.
append w_selopt to shlp-selopt.
ENDCASE.
ENDLOOP.
EXIT.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 25 2007, 16:06 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
на данном шаге можно вводить значения, все работает..
но данный шаг наступает при вызове средства поиска - форму мы еще не видим, данные не вбиваем...
а мне нужно заменять введенное значение...

хотя и это было полезно узнать.. спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 25 2007, 16:10 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Ну еще как вариант сделать замену прямо в SH

Цитата:
DATA: wa_xxx LIKE xxx.
DATA: ENV_INFO TYPE DDSHF4ENV.

CALL FUNCTION 'F4UT_GET_ENVIRONMENT'
IMPORTING
ENV_INFO = ENV_INFO
EXCEPTIONS
F4_NOT_ACTIVE = 1.

IF NOT SY-SUBRS IS INITIAL.
ENV_INFO-SUBPROG = SY-CPROG.
ENV_INFO-SUBDYNP = c_dynumb.
ENDIF.

*"----------------------------------------------------------------------
* STEP RETURN (Select one of the elementary searchhelps)
*"----------------------------------------------------------------------

IF CALLCONTROL-STEP = 'RETURN'.
DATA: LEN TYPE I.
DESCRIBE FIELD wa_xxx LENGTH LEN.
MOVE RECORD_TAB(LEN) TO wa_xxx.

MOVE c_werks TO wa_dynpfields-fieldname.
MOVE wa_xxx-WERKS TO wa_dynpfields-fieldvalue.
TRANSLATE wa_dynpfields-fieldname TO UPPER CASE.
APPEND wa_dynpfields TO DYFIELDS.

MOVE c_stort TO wa_dynpfields-fieldname.
MOVE wa_xxx-STORT TO wa_dynpfields-fieldvalue.
TRANSLATE wa_dynpfields-fieldname TO UPPER CASE.
APPEND wa_dynpfields TO DYFIELDS.

CALL FUNCTION 'DYNP_UPDATE_FIELDS'
EXPORTING
DYNAME = ENV_INFO-SUBPROG
DYNUMB = ENV_INFO-SUBDYNP
request = 'A'
TABLES
dynpfields = DYFIELDS
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
UNDEFIND_ERROR = 7
OTHERS = 8.
EXIT.
ENDIF.


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

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


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

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


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

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