Текущее время: Чт, мар 28 2024, 12:24

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Заполнение признака классификации в IE02.
СообщениеДобавлено: Ср, фев 22 2017, 15:52 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, май 23 2012, 14:38
Сообщения: 30
Пол: Мужской
Добрый день!
Стоит задача при монтаже ЕО автоматом заполнять значение признака на вкладке "Характеристика". Эта вкладка динамическая и вызывается как-то из группы функций CTMS.
Есть ли вариант получить доступ к полям этой вкладки?

И если нет, то как изменить признак классификации (AUSP-ATINN) в user-exit при сохранении? Потому что параметр такой не передается в user-exit (IEQM0003).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Заполнение признака классификации в IE02.  Тема решена
СообщениеДобавлено: Пн, фев 27 2017, 05:34 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 179
Нужно использовать BAPI_OBJCL_CHANGE.
Чтобы не затирались предыдущие данные необходимо считывать предыдущие признаки при помощи BAPI_OBJCL_GETDETAIL.
Code:
  DATA lv_objectkey           TYPE bapi1003_key-object.
  DATA lv_objecttable         TYPE bapi1003_key-objecttable.
  DATA lv_classnum            TYPE bapi1003_key-classnum.
  DATA lv_classtype           TYPE bapi1003_key-classtype.
  DATA lt_alloclist           TYPE STANDARD TABLE OF bapi1003_alloc_list.
  DATA lt_allocvalueschar     TYPE STANDARD TABLE OF bapi1003_alloc_values_char.
  DATA lt_allocvaluescurr     TYPE STANDARD TABLE OF bapi1003_alloc_values_curr.
  DATA lt_allocvaluesnum      TYPE STANDARD TABLE OF bapi1003_alloc_values_num.
  DATA lt_return              TYPE STANDARD TABLE OF bapiret2.

  lv_objectkey    = iv_equnr.
  lv_objecttable  = 'EQUI'.
  lv_classnum     = 'CERTIFIC_OF_VEHICL'.
  lv_classtype    = '002'.

  CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
    EXPORTING
      objectkey              = lv_objectkey
      objecttable            = lv_objecttable
      classnum               = lv_classnum
      classtype              = lv_classtype
    TABLES
      allocvaluesnum         = lt_allocvaluesnum
      allocvalueschar        = lt_allocvalueschar
      allocvaluescurr        = lt_allocvaluescurr
      return                 = lt_return
  .
  LOOP AT lt_return INTO DATA(ls_return)
                    WHERE type CA 'AEX'.
    MESSAGE ID ls_return-id TYPE ls_return-type NUMBER ls_return-number RAISING error
            WITH ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4.
  ENDLOOP.

  READ TABLE lt_allocvalueschar ASSIGNING FIELD-SYMBOL(<ls_allocvalueschar>)
                                WITH KEY charact = 'INTERNAL_ORDER'.
  IF sy-subrc <> 0.
    INSERT INITIAL LINE INTO TABLE lt_allocvalueschar ASSIGNING <ls_allocvalueschar>.
    <ls_allocvalueschar>-charact = 'INTERNAL_ORDER'.
  ENDIF.
  <ls_allocvalueschar>-value_char = <ls_allocvalueschar>-value_neutral = is_aufk-aufnr.

  SET UPDATE TASK LOCAL.
  CALL FUNCTION 'BAPI_OBJCL_CHANGE'
    EXPORTING
      objectkey                = lv_objectkey
      objecttable              = lv_objecttable
      classnum                 = lv_classnum
      classtype                = lv_classtype
    TABLES
      allocvaluesnumnew        = lt_allocvaluesnum
      allocvaluescharnew       = lt_allocvalueschar
      allocvaluescurrnew       = lt_allocvaluescurr
      return                   = lt_return
  .
  LOOP AT lt_return INTO ls_return
                    WHERE type CA 'AEX'.
    MESSAGE ID ls_return-id TYPE ls_return-type NUMBER ls_return-number RAISING error
            WITH ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4.
  ENDLOOP.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Заполнение признака классификации в IE02.
СообщениеДобавлено: Вт, фев 28 2017, 16:52 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, май 23 2012, 14:38
Сообщения: 30
Пол: Мужской
UKY написал(а):
Нужно использовать BAPI_OBJCL_CHANGE.
Чтобы не затирались предыдущие данные необходимо считывать предыдущие признаки при помощи BAPI_OBJCL_GETDETAIL.


Спасибо!
Заказчик все-таки очень хочет, чтобы признаки заполнялись "на лету". Монтировали ЕО - и сразу на вкладке "Характеристики" заполнился признак "Дата монтажа", например.


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

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


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

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


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

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