Sapforum.Biz
Логистика => Техническое обслуживание и ремонт оборудования (PM) => Тема начата: MM_ka от Июль 20, 2011, 12:04:04 pm
-
Доброго дня!
Нужна помощь или совет..
Наши пользователи...создали ЕО (серийный номер) при проводке документа материала вдв 201.
Т.е. на складе есть запас который они хотели отпустить, но вместо того, чтобы выбрать существующие серийники, были вписаны вручную значения в поле серийный номер. Таким образом при проводке были созданы новые серийники и они же выданы со склада, А правильные серийники остались числиться на складе, но по факту в запасе уже ничего нет.
Это был тот момент, когда вводился новый профиль серийных номеров и проверка существования еще не была включена.
В общем, все документы были сторнированы, и верные ЕО выданы со склада.
По регистрам , по счетам, по запасам..... все красиво, но висят ЕО и числятся они на складе.
Попыталась архивировать: документы материала, история серийного номера - заархивировались.
НО нарсовалась проблема с "Существование записи сегмента запаса (EQBS)".
и как уже потом выяснилось есть записи в таблице ILOA.
Подскажите, плз, с этим можно бороться? и если можно то как?
-
Подскажите, плз, с этим можно бороться? и если можно то как?
Да руками грохнуть запаса в EQBS и почистить EQUI и всех делов... сам 100 раз делал такое. Если нужны подробности напишу отдельно.
-
Предполагала, что прийдется убивать записи прямо в таблице.
Но никогда этого еще не делала.
Буду благодарна за "подробности".
:)
-
Ну значит так:
1. Пишешь программку которая по введенным например код материала + серийный номер находит все заданные тобой номера единиц оборудования EQUI-EQUNR
2. Удаляешь по ключу EQUNR все записи в EQBS, если в таблице EQUI поле S_EQBS = X
3. Если статус ЕО отличается от ДОСТ. а например НАСК. то пишешь программку которая убирает статус НАСК и ставит статус ДОСТ.
Ну типа все... для работы со статусами ЕО вот кусок подпрограммы которая ставит или убирает статусы (equi-objnr есть в таблице ЕО):
*----------------------------------------------------------------------*
* FORM SET_DEL_STATUS
*----------------------------------------------------------------------*
* Устанавливает статус для серийного номера материала
*----------------------------------------------------------------------*
* --> P_OBJNR - Код объекта
* <-- P_SUBRC - Код возврата операции
*----------------------------------------------------------------------*
form set_del_status using p_objnr like equi-objnr
changing p_subrc like sy-subrc.
data: int_jstat like jstat occurs 10 with header line.
refresh int_jstat. clear: int_jstat, p_subrc.
loop at p_istat.
move p_istat-low to int_jstat-stat.
move ' ' to int_jstat-inact.
append int_jstat.
endloop.
loop at p_zstat.
move p_zstat-low to int_jstat-stat.
move 'X' to int_jstat-inact.
append int_jstat.
endloop.
call function 'STATUS_CHANGE_INTERN_VB'
exporting
objnr = p_objnr
tables
status = int_jstat
exceptions
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
others = 4.
if sy-subrc eq space.
p_subrc = space.
else.
p_subrc = 1.
exit.
endif.
endform. " SET_DEL_STATUS
-
Огромное спасибо!!!!
:D
Пойду мучить программиста
-
2. Удаляешь по ключу EQUNR все записи в EQBS, если в таблице EQUI поле S_EQBS = X
Хочу уточнить, что бы у меня потом не было проблем от начальства, в этом случае удалять на прямую DELETE FROM :o ... или есть какой-то ФМ?
-
Хочу уточнить, что бы у меня потом не было проблем от начальства, в этом случае удалять на прямую DELETE FROM :o ... или есть какой-то ФМ?
Ну все зависит как удалишь... если так что полтаблицы данных, то будут конечно. а если нет, то... и не будет проблем. Удалять на прямую конечно. Проблем с функциональностью не будет, я на серийных собаку съел, ну если повар не врет ;D