Текущее время: Вс, апр 21 2024, 13:56

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




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

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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