Текущее время: Вт, апр 23 2024, 09:14

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Search Help на Selection screen
СообщениеДобавлено: Ср, окт 20 2004, 14:34 
Гость
на селекционном экране есть поле, к которому мной прикручен СХ посредством ФМ " F4IF_FIELD_VALUE_REQUEST ".

Однако этот ФМ возвращает только значение поля, на которое повешен VALUE-REQUES, но не возвращает других параметров, указаных в экспорте СХ.

Вопрос: КАК получить не только значение поля, но и другие параметры СХ (например в переменные) ????


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 20 2004, 15:48 
Гость
А RETURN_TAB используете?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 21 2004, 05:01 
Гость
Конечно, но RETURN_TAB возвращает блок данных, относящихся к полю импорта и не содержит информации о других параметрах возвращаемых СХ'пом


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 21 2004, 08:32 
Гость
Возможно дело в том, что ты указываешь другие параметры ФМ, например DYNPPROG, DYNPNR, DYNPROFIELD или SEARCHHELP. В моем случае в RETURN_TAB возвращаются все экспортируемые параметры, например после такого вызова
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
TABNAME = 'ANLA'
FIELDNAME = 'ANLN1'
TABLES
RETURN_TAB = lt_return
EXCEPTIONS
FIELD_NOT_FOUND = 1
NO_HELP_FOR_FIELD = 2
INCONSISTENT_HELP = 3
NO_VALUES_FOUND = 4
OTHERS = 5

lt_return содержит 3 строки с RECORDPOS = 1


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 21 2004, 09:46 
Гость
Я так понимаю, что в твоём случае висит СХ в таблице на поле ANLN1 и модуль возвращает все параметры, а в противном случае ФМ требует на вход имя СХ с экспортируемым параметром и возвращает только его.
Значит, т.к. в справочнике на поле не вешается СХ(или я не права?), то нужно создать структуру и в ней уже к полю привесить СХ, в а параметре TABNAME указывать имя структуры. Или этом модуль работает только с таблицами?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 21 2004, 12:11 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
вот так криво я получаю параметры

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

shlp-intdescr-dialogtype = 'D'.

*это параметры SH

LOOP AT shlp-interface INTO wa_interface.
CASE wa_interface-shlpfield.
WHEN 'SHORT_DESKR'.
wa_interface-valfield = 'SHORT_DESKR'.
MODIFY shlp-interface FROM wa_interface.
WHEN 'WPCODE_IN'.
wa_interface-valfield = 'WPCODE_IN'.
MODIFY shlp-interface FROM wa_interface.
WHEN 'WPCODE_OUT'.
wa_interface-valfield = 'WPCODE_OUT'.
MODIFY shlp-interface FROM wa_interface.
WHEN 'REPID'.
wa_interface-value = progname.
MODIFY shlp-interface FROM wa_interface.
ENDCASE.
ENDLOOP.
CLEAR line_sh.
CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
EXPORTING
shlp = shlp
IMPORTING
rc = rc
TABLES
return_values = line_sh.

IF rc EQ 0.
LOOP AT line_sh INTO wa.
CASE wa-fieldname.
WHEN 'SHORT_DESKR'.
type_doc = wa-fieldval.
ENDCASE.
ENDLOOP.
ENDIF.
CLEAR dynpro_values[].
dynpro_values-fieldname = 'TYPE_DOC'.
dynpro_values-fieldvalue = type_doc.
APPEND dynpro_values.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = progname
dynumb = dynnum
TABLES
dynpfields = dynpro_values.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 21 2004, 15:43 
Гость
Может быть не менее криво, но вот так можно получить все экспортируемые параметры в lt_return:
Code:
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      TABNAME                   = SPACE
      FIELDNAME                 = SPACE
      SEARCHHELP                = 'AANL'
      CALLBACK_PROGRAM          = sy-repid
      CALLBACK_FORM             = 'CB_F4_VALUE_REQUEST'
   TABLES
     RETURN_TAB                = lt_return .
...
FORM CB_F4_VALUE_REQUEST TABLES RECORD_TAB STRUCTURE SEAHLPRES
            CHANGING SHLP TYPE SHLP_DESCR
                     CALLCONTROL LIKE DDSHF4CTRL.
  data: wa_props like DDSHFPROP,
        wa_intf like DDSHIFACE.

  LOOP AT SHLP-FIELDPROP INTO wa_props WHERE shlpoutput = 'X'.
    READ TABLE SHLP-INTERFACE INTO wa_intf
      WITH KEY SHLPFIELD = wa_props-FIELDNAME.
    wa_intf-F4FIELD = 'X'.
    MODIFY SHLP-INTERFACE FROM wa_intf
       INDEX SY-TABIX
       transporting f4field.
  ENDLOOP.
ENDFORM.                    "CB_F4_VALUE_REQUEST

А в TABNAME можно и структуру скормить.


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

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


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

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


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

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