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

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


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

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


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

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