Текущее время: Ср, июн 07 2023, 19:55

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: BAPI для пакетника сетевых графиков
СообщениеДобавлено: Чт, мар 30 2023, 14:55 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 746
Откуда: South Kazakhstan
Пол: Мужской
Добрый день Всем.

Есть надобность в пакетнике сетевых графиков. Нашёл такой ФМ BAPI_BUS2002_CREATE. Вроде как позволяет создавать заголовки сетевых графиков. Мне в общем то достаточно. Создал Проект и СПП элемент к нему. Далее программно пытаюсь создать сетевой график.
Code:
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 ругается и возвращает
Code:
Ошибка
Объект Сетевой график создать было невозможно
Ошибка
Сетевой график/заказ с номеромомер OP3070 уже существует

Т.е. система пытается опять создать сетевой график с этим же номером. Когда это делаешь через транзакцию CJ20N система говорит о том, что сетевой график с таким номером уже существует и предлагает в ручную ввести номер следующего сетевого графика. Введя следующий по порядку номер, график создаётся. Пытался добавить в BAPI в ручную следующий номер сетевого графика, там есть поле.
Code:
wa_bapi_bus2002_new-network = 'OP3071'.

Безрезультатно. Это как то связано с нумерацией сетевых графиков, но как это обойти? Может кто то, что то делал подобное?


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

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


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

Сейчас этот форум просматривают: Mail.RU Bot


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

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