Архивирование проблемных ЕО.

Автор MM_ka, Липень 20, 2011, 12:04:04 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

MM_ka

Доброго дня!
Нужна помощь или совет..
Наши пользователи...создали ЕО (серийный номер) при проводке документа материала вдв 201.
Т.е. на складе есть запас который они хотели отпустить, но вместо того, чтобы выбрать существующие серийники, были вписаны вручную значения в поле серийный номер. Таким образом при проводке были созданы новые серийники и они же выданы со склада, А правильные серийники остались числиться на складе, но по факту в запасе уже ничего нет.
Это был тот момент, когда вводился новый профиль серийных номеров и проверка существования еще не была включена.
В общем, все документы были сторнированы, и верные ЕО выданы со склада.
По регистрам , по счетам, по запасам..... все красиво, но висят ЕО и числятся они на складе.
Попыталась архивировать: документы материала, история серийного номера - заархивировались.
НО нарсовалась проблема с "Существование записи сегмента запаса (EQBS)".
и как уже потом выяснилось есть записи в таблице ILOA.

Подскажите, плз, с этим можно бороться? и если можно то как?


Uukrul

Цитата: MM_ka від Липень 20, 2011, 12:04:04 ПП
Подскажите, плз, с этим можно бороться? и если можно то как?
Да руками грохнуть запаса в EQBS и почистить EQUI и всех делов... сам 100 раз делал такое. Если нужны подробности напишу отдельно.

MM_ka

Предполагала, что прийдется убивать записи прямо в таблице.
Но никогда этого еще не делала.
Буду благодарна за "подробности".
:)

Uukrul

Ну значит так:

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

MM_ka

Огромное спасибо!!!!
:D
Пойду мучить программиста

Sed0Y

Цитата: Uukrul від Липень 20, 2011, 01:21:22 ПП
2. Удаляешь по ключу EQUNR все записи в EQBS, если в таблице EQUI поле S_EQBS = X

Хочу уточнить, что бы у меня потом не было проблем от начальства, в этом случае удалять на прямую DELETE FROM  :o ... или есть какой-то ФМ?

Uukrul

Цитата: Sed0Y від Липень 20, 2011, 02:09:53 ПП
Хочу уточнить, что бы у меня потом не было проблем от начальства, в этом случае удалять на прямую DELETE FROM  :o ... или есть какой-то ФМ?
Ну все зависит как удалишь... если так что полтаблицы данных, то будут конечно. а если нет, то... и не будет проблем. Удалять на прямую конечно. Проблем с функциональностью не будет, я на серийных собаку съел, ну если повар не врет  ;D

SMF spam blocked by CleanTalk