SAPфорум.RU
https://www.sapboard.ru/forum/

IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER Изменить свойства полей
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=97144
Страница 1 из 1

Автор:  simka_3375 [ Вс, дек 09 2018, 01:22 ]
Заголовок сообщения:  IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER Изменить свойства полей

Подскажите плз. как сделать недоступными несколько полей в ME2*N по условию.

В методе IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER на первый взгляд все просто (но этот метод не вызывается):

METHOD if_ex_me_process_po_cust~fieldselection_header.

FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.

READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY metafield = mmmfd_pmnttrms.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Display
ENDIF.

ENDMETHOD.

Этот вопрос уже встречался на форуме, но мне не понятно решение. Этот метод надо как-то отдельно особенным способом активировать? FIELDSELECTION_ITEM вызывается, а что не так с header?

Автор:  Rizor [ Пн, дек 10 2018, 12:51 ]
Заголовок сообщения:  Re: IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER Изменить свойства полей

Добрый день. Была похожая разработка. Путём долгой и мучительной отладки определил, что fieldselection_header запускается только для z-полей.

Чтобы закрыть стандартное поле на ввод , использовал метод fieldselection_header_refkeys.
Код примерно такой :
Code:
  METHOD if_ex_me_process_po_cust~fieldselection_header_refkeys.
* Если поле zzcrdnr  заполнено, то скрываем партнёра
    CHECK im_header->get_data( )-zzcrdnr IS NOT INITIAL.

* Подставляем ключ, настроеный на скрытие поля партнёр после всех заполненных ключей
    IF  ch_key0 IS INITIAL.
      ch_key0 = mc_key.
    ELSEIF ch_key1 IS INITIAL.
      ch_key1 = mc_key.
    ELSEIF ch_key2 IS INITIAL.
      ch_key2 = mc_key.
    ELSEIF ch_key3 IS INITIAL.
      ch_key3 = mc_key.
    ELSEIF ch_key4 IS INITIAL.
      ch_key4 = mc_key.
    ELSEIF ch_key5 IS INITIAL.
      ch_key5 = mc_key.
    ELSEIF ch_key6 IS INITIAL.
      ch_key6 = mc_key.
    ENDIF.
  ENDMETHOD.


Ключ (mc_key) - это ID настройки экрана, задаваемой в SPRO по пути:

управление мат. потоками -> Закупки -> Заказ на поставку -> Определение структуры экрана на уровне документа

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/