Sapforum.Biz

Логистика => Техническое обслуживание и ремонт оборудования (PM) => Тема начата: themax от Февраль 19, 2018, 01:27:21 pm

Название: Ошибка пакетного ввода при монтаже единиц оборудования
Отправлено: themax от Февраль 19, 2018, 01:27:21 pm
Доброго времени суток Всем.

Делаю пакетник по изменению и перемещению единиц оборудования. С изменением данных всё понятно и вроде бы работает, но вот перемещение сделать не удаётся. Перемещение ЕО делаю с помощью двух bapi, т.е. сначала делаю демонтаж BAPI_EQUI_DISMANTLE, а затем пытаюсь смонтировать на другое техническое место с помощью bapi BAPI_EQUI_INSTALL, т.е. оба bapi запускаются друг за другом. Демонтаж сделать получается, а вот на монтаже возникает ошибка типа Ед. оборудования 10000151: время монтажа/демонтажа должно быть позже, чем 17:20:05. Если я правильно понимаю, то систему смущает, что демонтаж и монтаж происходит секунда в секунду. Если я пытаюсь отдельно после этого запустить монтаж, то прога монтирует ЕО на нужное ТМ. Как быть в таком случае? Как то изменять время при монтаже или что? Может кто сталкивался с этим? Вот примерный код.
Код: You are not allowed to view links. Register or Login
data:
    ld_data_general_exp   type bapi_itob,
    ld_data_specific_exp  type bapi_itob_eq_only,
    ld_return             type bapiret2,
    ld_data_general_exp2    type bapi_itob,
    ld_data_specific_exp2 type bapi_itob_eq_only,
    ld_return2              type bapiret2,
    ld_equipment          type bapi_itob_eq_install_ext.

  call function 'BAPI_EQUI_DISMANTLE'
    exporting
      equipment         = '000000000010000151'
*     funcloc           = wa-funcloc_int2
*     SUPEQUI           =
      dism_date         = sy-datum
      dism_time         = sy-uzeit
    importing
      data_general_exp  = ld_data_general_exp
      data_specific_exp = ld_data_specific_exp
      return            = ld_return.

  if ld_return-type = space.
    commit work and wait.
  else.
*    wa-status2 = icon_failure.
    rollback work.
  endif.
  call function 'CONVERSION_EXIT_TPLNR_OUTPUT'
    exporting
      input  = '100.004.001.003'
    importing
      output = wa-funcloc_int2.

  ld_equipment-funcloc = wa-funcloc_int2.

  call function 'BAPI_EQUI_INSTALL'
    exporting
      equipment         = '000000000010000151'
      data_install      = ld_equipment
    importing
      data_general_exp  = ld_data_general_exp2
      data_specific_exp = ld_data_specific_exp2
      return            = ld_return2.
  if ld_return2-type = space.
    commit work and wait.
  else.
*    wa-status2 = icon_failure.
    rollback work.
  endif.
Название: Re: Ошибка пакетного ввода при монтаже единиц оборудования
Отправлено: themax от Февраль 19, 2018, 01:44:48 pm
Ошибку вроде бы устранил, правда между запусками функциональных модулей по демонтажу и монтажу пришлось добавить время запуска разницей в одну секунду, я правда не знаю насколько сильно это скажется на производительности, скажем перемещение 500 ЕО 500 секунд, не считая выполнения самих функциональных модулей.
Название: Re: Ошибка пакетного ввода при монтаже единиц оборудования
Отправлено: Uukrul от Февраль 19, 2018, 05:37:13 pm
You are not allowed to view links. Register or Login
Ошибку вроде бы устранил, правда между запусками функциональных модулей по демонтажу и монтажу пришлось добавить время запуска
Не выход, проверяйте запись блокировки объекта, будет самое оно. а то ведь может оказаться и больше и гораздо меньше секунды.