Автор Тема: BAPI для пакетника сетевых графиков  (Прочитано 2439 раз)

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

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Добрый день Всем.

Есть надобность в пакетнике сетевых графиков. Нашёл такой ФМ BAPI_BUS2002_CREATE. Вроде как позволяет создавать заголовки сетевых графиков. Мне в общем то достаточно. Создал Проект и СПП элемент к нему. Далее программно пытаюсь создать сетевой график.
Код: You are not allowed to view links. Register or Login
data:
  it_bapi_bus2002_new type standard table of bapi_bus2002_new,
  wa_bapi_bus2002_new type bapi_bus2002_new,

  it_bapiret2         type standard table of bapiret2,
  wa_bapiret2         type bapiret2.

clear : wa_bapi_bus2002_new.
wa_bapi_bus2002_new-project_definition = 'OP23070'.       
wa_bapi_bus2002_new-wbs_element        = 'OP230701'.       
wa_bapi_bus2002_new-short_text         = 'Сетевой график OP230701'.     
wa_bapi_bus2002_new-network_type       = 'PS07'.
wa_bapi_bus2002_new-plant              = '3000'.      "
wa_bapi_bus2002_new-mrp_controller     = '100'.

call function 'BAPI_PS_INITIALIZATION'.



call function 'BAPI_BUS2002_CREATE'
  exporting
    i_network = wa_bapi_bus2002_new
  tables
    et_return = it_bapiret2.

loop at it_bapiret2 into wa_bapiret2 where type ca 'AE'.


  message id wa_bapiret2-id type wa_bapiret2-type number wa_bapiret2-number
  into wa_bapiret2-message
  with wa_bapiret2-message_v1 wa_bapiret2-message_v2
  wa_bapiret2-message_v3 wa_bapiret2-message_v4.
  write:/ 'Ошибка',wa_bapiret2-message.

endloop.

if sy-subrc eq 0.

  call function 'PS_FLAG_INIT_GLOBAL_FLAGS'.

  call function 'PS_FLAG_SET_GLOBAL_FLAGS'
    exporting
      i_precommit_ok = 'Y'.

endif.


check sy-subrc ne 0.

call function 'BAPI_PS_PRECOMMIT'
  tables
    et_return = it_bapiret2.

loop at it_bapiret2 into wa_bapiret2 where type ca 'AE'.


  message id wa_bapiret2-id type wa_bapiret2-type number wa_bapiret2-number
  into wa_bapiret2-message
  with wa_bapiret2-message_v1 wa_bapiret2-message_v2
  wa_bapiret2-message_v3 wa_bapiret2-message_v4.
  write:/ 'Ошибка:',wa_bapiret2-message.

endloop.

if sy-subrc eq 0.

  call function 'BAPI_TRANSACTION_ROLLBACK'
    importing
      return = it_bapiret2.

  call function 'PS_FLAG_INIT_GLOBAL_FLAGS'.

  call function 'PS_FLAG_SET_GLOBAL_FLAGS'
    exporting
      i_precommit_ok = 'Y'.

else.

  call function 'BAPI_TRANSACTION_COMMIT'
    exporting
      wait   = 'X'
    importing
      return = wa_bapiret2.
  write:/ 'Уведомление:',wa_bapiret2-message.
*
endif.

В итоге создаёт сетевой график. Система присваивает сетевому графику внутренний номер OP3070. И тут возникает проблема. При попытке создания ещё одного сетевого графика bapi ругается и возвращает
Код: You are not allowed to view links. Register or Login
Ошибка
Объект Сетевой график создать было невозможно
Ошибка
Сетевой график/заказ с номеромомер OP3070 уже существует
Т.е. система пытается опять создать сетевой график с этим же номером. Когда это делаешь через транзакцию CJ20N система говорит о том, что сетевой график с таким номером уже существует и предлагает в ручную ввести номер следующего сетевого графика. Введя следующий по порядку номер, график создаётся. Пытался добавить в BAPI в ручную следующий номер сетевого графика, там есть поле.
Код: You are not allowed to view links. Register or Login
wa_bapi_bus2002_new-network = 'OP3071'.Безрезультатно. Это как то связано с нумерацией сетевых графиков, но как это обойти?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: BAPI для пакетника сетевых графиков
« Ответ #1 : Апрель 03, 2023, 11:11:21 am »
You are not allowed to view links. Register or Login
Безрезультатно. Это как то связано с нумерацией сетевых графиков, но как это обойти?
Привет, а там смотри набор ФМ-ов есть может надо какие-то функции инициализации дергать перед вызовом создания?

Еще например есть такой ФМ CN2002_NETW_INIT - Сбросить таблицу карты сети.

А вообще можешь код ошибки прислать.. текст конечно круто, но по тексту что-то искать нет смысла :-)
« Последнее редактирование: Апрель 03, 2023, 11:19:06 am от Uukrul »

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: BAPI для пакетника сетевых графиков
« Ответ #2 : Апрель 12, 2023, 03:21:35 pm »
You are not allowed to view links. Register or Login

А вообще можешь код ошибки прислать.. текст конечно круто, но по тексту что-то искать нет смысла :-)
Здрасте Олег. Спасибо за наводку. Буду смотреть дальше. Текст ошибки вот

Код: You are not allowed to view links. Register or Login
1 E CNIF_PI 007 Объект Сетевой график OP307701 создать было невозможно 000000 Сетевой график OP307701
2 E CNIF_PI 044 Сетевой график/заказ с номеромомер OP3070 уже существует 000000 OP3070

« Последнее редактирование: Апрель 12, 2023, 03:25:08 pm от themax »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: BAPI для пакетника сетевых графиков
« Ответ #3 : Апрель 16, 2023, 10:57:00 pm »
You are not allowed to view links. Register or Login
Код: You are not allowed to view links. Register or Login
1 E CNIF_PI 007 Объект Сетевой график OP307701 создать было невозможно 000000 Сетевой график OP307701
2 E CNIF_PI 044 Сетевой график/заказ с номеромомер OP3070 уже существует 000000 OP3070
Поставль точку останова в модуле function cn2002_net_create_prepare . и посмотри на что оно ругается и что не так заполняется.

Sapforum.Biz

Re: BAPI для пакетника сетевых графиков
« Ответ #3 : Апрель 16, 2023, 10:57:00 pm »