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

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


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

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


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

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