SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Ошибка пакетного ввода при монтаже единиц оборудования. https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96082 |
Страница 1 из 1 |
Автор: | Maksimka [ Пн, фев 19 2018, 14:24 ] |
Заголовок сообщения: | Ошибка пакетного ввода при монтаже единиц оборудования. |
Добрый день Всем. Делаю пакетник по изменению и перемещению единиц оборудования. С изменением данных всё понятно и вроде бы работает, но вот перемещение сделать не удаётся. Перемещение ЕО делаю с помощью двух bapi, т.е. сначала делаю демонтаж BAPI_EQUI_DISMANTLE, а затем пытаюсь смонтировать на другое техническое место с помощью bapi BAPI_EQUI_INSTALL, т.е. оба bapi запускаются друг за другом. Демонтаж сделать получается, а вот на монтаже возникает ошибка типа Ед. оборудования 10000151: время монтажа/демонтажа должно быть позже, чем 17:20:05. Если я правильно понимаю, то систему смущает, что демонтаж и монтаж происходит секунда в секунду. Если я пытаюсь отдельно после этого запустить монтаж, то прога монтирует ЕО на нужное ТМ. Как быть в таком случае? Как то изменять время при монтаже или что? Может кто сталкивался с этим? Вот примерный код. Code: 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. |
Автор: | Maksimka [ Пн, фев 19 2018, 14:47 ] |
Заголовок сообщения: | Re: Ошибка пакетного ввода при монтаже единиц оборудования. |
Ошибку вроде бы устранил, правда между запусками функциональных модулей по демонтажу и монтажу пришлось добавить время запуска разницей в одну секунду, я правда не знаю насколько сильно это скажется на производительности, скажем перемещение 500 ЕО 500 секунд, не считая выполнения самих функциональных модулей. |
Автор: | UKY [ Вт, фев 20 2018, 09:58 ] |
Заголовок сообщения: | Re: Ошибка пакетного ввода при монтаже единиц оборудования. |
Попробуйте перед вызовом каждого BAPI добавить такой код: Цитата: SET UPDATE TASK LOCAL. И commit только после монтажа оставить - у меня так работает. |
Автор: | Maksimka [ Ср, фев 21 2018, 12:56 ] |
Заголовок сообщения: | Re: Ошибка пакетного ввода при монтаже единиц оборудования. |
UKY написал(а): Попробуйте перед вызовом каждого BAPI добавить такой код: Цитата: SET UPDATE TASK LOCAL. И commit только после монтажа оставить - у меня так работает. Попробовал добавить как Вы и посоветовали. Действительно работает быстрее. Наверное так и оставлю, спасибо |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |