Текущее время: Пн, июл 21 2025, 15:35

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Передача значений в Search-Help [+]
СообщениеДобавлено: Чт, ноя 02 2006, 10:08 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 10 2004, 17:44
Сообщения: 97
Откуда: Москва
Пол: Мужской
Приветствую,

Возник вопрос - а как передать значения "по умолчанию" из программы в Search-Help, при этом, оставив пользователю возможность их редактирования?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 02 2006, 10:10 
Гость
через SET PARAMETER ID


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 02 2006, 10:11 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 10 2004, 17:44
Сообщения: 97
Откуда: Москва
Пол: Мужской
Пробовал. Не получается -(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 02 2006, 10:13 
Гость
не получается что? изменить потом? это уже зависит от SH - там у поля галку "Модиф" неправильно стоит


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 02 2006, 10:18 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 16 2005, 10:29
Сообщения: 336
Откуда: Минск->Москва
Пол: Мужской
Я когда-то постал вызовы средств поиска и заполнение параметров, а чтобы мог менять, просто поставте ср. поиска тип диалога : Диалог с ограничением значений. И все должно получится


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 02 2006, 10:19 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 10 2004, 17:44
Сообщения: 97
Откуда: Москва
Пол: Мужской
Спасибо за советы, буду дальше пробовать =)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 02 2006, 21:42 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Была ситуация, когда search-help для элемента данных не принимал параметры по умолчанию.
Пришлось написать для этого search-help exit, в котором получался номер активного экрана, и значения нужных полей, которые потом и устанавливались по умолчанию. После выбора значения снова переносились на активный экран:

Цитата:
FUNCTION Z_E_F4IF_SHLP_EXIT_ROOM.
*"----------------------------------------------------------------------
*"*"Local interface:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR_T
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL STRUCTURE DDSHF4CTRL

* data declarations for populating batch field on dynpro
DATA: DYFIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE.
constants: c_dynumb(04) value '1145'.
constants: c_werks(132) value 'ANLZ-WERKS'.
constants: c_stort(132) value 'ANLZ-STORT'.
DATA: w_selopt LIKE LINE OF shlp-selopt.
DATA: wa_dynpfields LIKE DYNPREAD.
DATA: wa_ZGFRAUM1 LIKE ZGFRAUM1.
DATA: ENV_INFO TYPE DDSHF4ENV.

* EXIT immediately, if you do not want to handle this step

CHECK SY-TCODE EQ 'AS02'.

IF CALLCONTROL-STEP <> 'SELONE' AND
CALLCONTROL-STEP <> 'SELECT' AND
CALLCONTROL-STEP <> 'PRESEL1' AND
CALLCONTROL-STEP <> 'RETURN' AND
" AND SO ON
CALLCONTROL-STEP <> 'DISP'.
EXIT.
ENDIF.

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

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

*"----------------------------------------------------------------------
* 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.


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

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

MOVE c_werks TO wa_dynpfields-fieldname.
MOVE wa_ZGFRAUM1-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_ZGFRAUM1-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.

ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 03 2006, 09:22 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 10 2004, 17:44
Сообщения: 97
Откуда: Москва
Пол: Мужской
Спасибо всем за ответы... в общем, проще получилось сделать так:

Code:
  DATA: lt_returntab TYPE ddshretval OCCURS 0 WITH HEADER LINE ,
        l_shlp TYPE shlp_descr,
        ls_interface TYPE ddshiface,
        ls_selopt TYPE ddshselopt,
        l_rc LIKE sy-subrc.

  CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
    EXPORTING
      shlpname = 'ZOST_ADVANCED_VBELN'
      shlptype = 'SH'
    IMPORTING
      shlp     = l_shlp.


  LOOP AT l_shlp-interface INTO
          ls_interface.
    IF ls_interface = 'VBELN'.
      ls_interface-valfield = 'X'.
      MODIFY l_shlp-interface  FROM
             ls_interface.
    ENDIF.
  ENDLOOP.


  MOVE:
      'ZOST_ADVANCED_VBELN' TO ls_selopt-shlpname,
      'MATNR'               TO ls_selopt-shlpfield,
      'I'                   TO ls_selopt-sign,
      'EQ'                  TO ls_selopt-option,
      zsost_tsw_single_bs24-matnr TO ls_selopt-low.

  APPEND ls_selopt TO l_shlp-selopt.



  CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
    EXPORTING
      shlp                = l_shlp
*   DISPONLY            = ' '
*   MAXRECORDS          = 500
*   MULTISEL            = ' '
*   CUCOL               = SY-CUCOL
*   CUROW               = SY-CUROW
  IMPORTING
    rc                  = l_rc
    TABLES
      return_values       = lt_returntab
            .

  READ TABLE lt_returntab WITH KEY fieldname = 'VBELN'.
  IF sy-subrc EQ 0.
    MOVE lt_returntab-fieldval TO zsost_tsw_single_bs24-vbeln.
    " HAVE fun.
  ENDIF.


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

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


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

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


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

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