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

Добавление признаков в классификацию партий в тр MIGO
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96610
Страница 1 из 1

Автор:  MaрьЯ [ Пт, июл 13 2018, 14:50 ]
Заголовок сообщения:  Добавление признаков в классификацию партий в тр MIGO

добрый день, уважаемые!
необходимо сделать так, чтобы в MIGO, когда пользователь указывает новую партию, нажимает кнопку "Классификация" в закладке "Партия" в саму классификацию подтягивались определенные значения. То есть для новой партии уже были заполнены какие-то признаки. Соответственно при изменении и сохранении, чтобы актуальная информация сохранялась.
Пробовала через EXIT_SAPLV01Z_014 добавить признаки в таблицы: max_values и values, а так же установить characters-flass = 'X' для заполненных признаков, тогда все отображается корректно в классификации, даже если создается новая партия.
При возврате из классификации в отладчике видно, что в EXIT_SAPLCLFM_002 в t_allausp есть значения с учетом введенных пользователем коррективов.
Но стоит снова нажать "Классификацию", как все таблицы с признаками, описанные выше, обнуляются. Та же история при сохранении: в EXIT_SAPLCLFM_002 таблица t_allausp не содержит значений, соответственно при сохранении класс партии остается пустым.
Есть еще вариант сохранять в EXIT_SAPLCLFM_002 обновленные признаки партии, но, если пользователь решит выйти без сохранения, партия для материала все равно будет создана и будет содержать признаки, либо будут заменены признаки в уже существующей партии.
Собственно вопрос в том, как сохранить эти значения?
заранее спасибо за помощь

Автор:  dev403k [ Пн, июл 16 2018, 16:18 ]
Заголовок сообщения:  Re: Добавление признаков в классификацию партий в тр MIGO

Добрый день.
Попробуйте в ZXMBCU04.
Code:
***Автоматическое заполнение признаков партии 
  DEFINE append_tab.
    READ TABLE characters INTO characters WITH KEY  atnam = &1.
     IF sy-subrc = 0.
       READ TABLE values INTO ls_values WITH KEY atnam = &1.
       IF sy-subrc <> 0.
          CLEAR: ls_max_values, ls_values.
          ls_max_values-atinn = characters-atinn.
          ls_max_values-atnam = characters-atnam.
          ls_max_values-atwtb = &2.
          APPEND ls_max_values TO max_values.

          ls_values-atinn = characters-atinn.
          ls_values-atnam = characters-atnam.
          ls_values-atwtb = &2.
          APPEND ls_values TO values.
       ENDIF.
     ENDIF.
  END-OF-DEFINITION.
...
wa_atwtb TYPE atwtb,
....
READ TABLE attributes WITH KEY   atnam = name0. (Нужный вам признак)
IF sy-subrc = 0.
wa_atwtb = 'Нужное вам значение'
READ TABLE values INTO ls_values WITH KEY atnam = name0. (Нужный вам признак)
     IF sy-subrc <> 0.
         append_tab name0 wa_atwtb.
     ELSE.
         ki = sy-tabix.
         ls_values-atwtb = wa_atwtb.
         MODIFY values FROM ls_values INDEX ki TRANSPORTING atwtb.
     ENDIF.
ENDIF.

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