Автор Тема: Пакетный ввод изменения групп СПП элементов.  (Прочитано 7576 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Всем доброго времени суток!

Я заранее извиняюсь за то, что возможно не в той ветке пишу, но вопрос касается непосредственно групп спп элементов и мне подумалось что может быть есть какой то стандартный инструмент по массовому изменению содержимого групп СПП элементов, который я пока не нашёл. Т.е. мне надо массово удалить из группы большое количество СПП элементов. Делать это в ручную пользователи конечно же не хотят. Пытался делать с помощью SHDB, но там в самом коде ничего кроме группы не видно, т.е. нет поля, которое бы читало название самого СПП элемента. Может кто подскажет с чем это нужно есть?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Пакетный ввод изменения групп СПП элементов.
« Ответ #1 : Апрель 29, 2016, 11:26:49 am »
You are not allowed to view links. Register or Login
Я заранее извиняюсь за то, что возможно не в той ветке пишу, но вопрос касается непосредственно групп спп элементов и мне подумалось что может быть есть какой то стандартный инструмент по массовому изменению содержимого групп СПП элементов, который я пока не нашёл. Т.е. мне надо массово удалить из группы большое количество СПП элементов. Делать это в ручную пользователи конечно же не хотят. Пытался делать с помощью SHDB, но там в самом коде ничего кроме группы не видно, т.е. нет поля, которое бы читало название самого СПП элемента. Может кто подскажет с чем это нужно есть?
Ну там транзакции старые, я бы сделал так, удалил бы все группы, это можно сделать через SHDB транзакция KJH2 - Изменить, а дальше создав бы новые группы через CJSG - Генерировать.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Пакетный ввод изменения групп СПП элементов.
« Ответ #2 : Апрель 29, 2016, 12:31:13 pm »
Т.е. Вы  мне предлагаете грохнуть все группы, а потом с помощью CJSG создать допустим с теми же именами группы новые, но добавить в них те спп элементы которые необходимы?! Идея конечно интересная. Если других способов нет придётся наверное так и делать, а то СПП элементов в группах очень много, в ручную запаришься удалять. Жаль что нет возможности пакетником отсоединить СПП элементы от той или иной группы.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Пакетный ввод изменения групп СПП элементов.
« Ответ #3 : Апрель 29, 2016, 01:04:14 pm »
You are not allowed to view links. Register or Login
Т.е. Вы  мне предлагаете грохнуть все группы, а потом с помощью CJSG создать допустим с теми же именами группы новые, но добавить в них те спп элементы которые необходимы?! Идея конечно интересная.
Ну грохнуть через пакетник и создать тоже через пакетник.
You are not allowed to view links. Register or Login
СПП элементов в группах очень много, в ручную запаришься удалять. Жаль что нет возможности пакетником отсоединить СПП элементы от той или иной группы.
Ну на транзакцию изменения пакетник к сожалению сделать не реально похоже. Но, если у вас есть время и желание потом поделится, то для ведения групп есть функциональный модуль, который активно используется при ведении групп:
Код: You are not allowed to view links. Register or Login
*-set hierarchy maintenance
  CALL FUNCTION 'K_SET_HIERARCHY_MAINTENANCE'
    EXPORTING
      e_setid                        = l_setid
      e_co_area                      = l_kokrs
      e_class                        = l_class
      e_mode                         = l_mode
    EXCEPTIONS
      not_available_for_for_setclass = 1
      convert_error                  = 2
      no_chart_of_accounts           = 3
      no_controlling_area            = 4
      set_not_found                  = 5
      illegal_field_replacement      = 6
      illegal_table_replacement      = 7
      fm_raise                       = 8
      OTHERS                         = 9.
Так что если разберетесь и расскажете как, будет способ программного изменения групп. Если вкратце то надо пройтись в отладке там при нажатии кнопки сохранения вызывается модуль:
Код: You are not allowed to view links. Register or Login
  CALL FUNCTION 'K_HIERARCHY_UPDATE'
       EXPORTING
            E_CLASS      = L_CLASS
            E_KOKRS      = GLOBAL_KOKRS
            E_KTOPL      = GLOBAL_KTOPL
            E_INFO       = GLOBAL_HIER_INFO
            E_MODE       = GLOBAL_MODE
       TABLES
            T_NODES      = GLOBAL_NODES
            T_VALUES     = GLOBAL_VALUES
            T_FORMULA    = GLOBAL_FORMULA
            T_FIELD_INFO = GLOBAL_FIELDINFO
            T_ALESETS    = GLOBAL_ALESETS
       EXCEPTIONS
            UPDATE_ERROR = 1
            OTHERS       = 2.
В общем идем в группу функций: KKHI и там похоже надо посмотреть порядок вызова модулей, по факту для упрощения похоже делаем чтение структуры K_HIERARCHY_TABLES_READ - Einlesen der Hierarchietabellen für die Gruppenpflege , удаляем лишнее, дополняем нужное и вызываем модуль обновления. Ну за день/два вроде как не проблема написать обработчик.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Хорошая транзакция CJSG, которую Вы мне по советовали. Она не только позволяет создавать группы, но и изменять их содержимое. С её помощью я втянул текстовый файл, который содержал список СПП элементов и он изменил группу. Теперь она содержит только те СПП элементы, которые я указал в текстовом файлике. Спасибо Uukrul за подсказку.

Sapforum.Biz