SAP B1 Невозможно добавить или обновить серии документов.

Среда: SAP Business One 9.2 on HANA PL09, Cloud Control Center PL08

Ошибка:

После обновления в пределах ветки SAP Business One 9.2 возникла проблема с добавлением  и редактированием нумерации документов. При попытке отредактировать и добавить новую серию нумерации пользователь получал сообщение: «Series overlaps objects«. При этом из логов или трассировки не получилось получить полезной для отладки информации.

Решение проблемы:

Внимание! Снимите резервную копию с БД, на которой присутствует ошибка, прежде чем делать что — либо из предложенных дальше вариантов решения. Эти методы могут как помочь вам, так и повредить вашу БД. Для начала попробуйте на копии БД.

Метод 1. Restore Numbering File. Стандартная функция SAP B1. Вызвать ее можно через пункт меню Help->Support Desk->Restore->Restore Numbering File (См. Скриншот 1.)

SAP B1 Restore Numbering File

Скриншот 1. Стандартная функция SAP B1 по восстановлению серий нумерации

Метод 2. Выполнение SQL скриптов из SAP ноты 957586 — Error «Series overlaps» When Editing «Numbering Series — Setup» (скрипты в приложении к посту). Выполнение этих скриптов не поможет, но  так вы получите список проблемных серий нумерации, с которыми можно открыть тикет поддержки SAP для компонента SBO-ADM-INI-DON. В моем случае данные скрипты не вернули никаких результатов и были бесполезны, но, возможно, это кому-то поможет.

Метод 3. В моем случае помогло выявление серий, которые есть в таблице NNM3, но отсутствуют в таблице NNM1 (основная таблица для серий нумерации). Почему это произошло при обновлении непонятно, ведь эта проблема появилась в одной из 10 баз, которые мы обновляли. При этом в ее копии в изначальном PL такой проблемы не было.

SQL запрос для определения проблемных серий. Приведен запрос для SAP HANA, но он легко адаптируется и для MsSQL.

SELECT * from NNM3 WHERE «Series» not in (select «Series» from NNM1);

После получения проблемных серий, необходимо составить SQL запрос вида:

insert into NNM1 («ObjectCode», «Series», «SeriesName», «InitialNum», «NextNumber», «GroupCode», «Locked», «DocSubType», «DefESeries»,»IsDigSerie», «SeriesType», «IsManual», «IsForCncl», «IsElAuth»)
values (‘НОМЕР ОБЪЕКТА ИЗ ЗАПРОСА ВЫШЕ’, НОМЕР ПРОБЛЕМНОЙ СЕРИИ ИЗ ЗАПРОСА ВЫШЕ, ‘Primary’, 1,1,1, ‘N’, ‘Тип документа соответствующего серии из запроса выше‘,0,’N’,’W’,’N’,’N’,’N’);
Например:
insert into NNM1 («ObjectCode», «Series», «SeriesName», «InitialNum», «NextNumber», «GroupCode», «Locked», «DocSubType», «DefESeries»,»IsDigSerie», «SeriesType», «IsManual», «IsForCncl», «IsElAuth»)
values (‘253000001’, 64, ‘Primary’, 1,1,1, ‘N’, ‘OS’,0,’N’,’W’,’N’,’N’,’N’);

После выравнивания таблиц NNM3 и NNM1 проблема должна решиться.

Скрипт определения проблемных серий для B1 on MsSQL из SAP Note 957586  20151009_Detect_957586_v1.1.0_IH

Скрипт определения проблемных серий для B1 on HANA из SAP Note 957586 20151009_HANA_REV67 Detect 957586_v1.1.0_IH

2 комментария

    1. Sorry a cannot tell you what object «253000001» mean, but please note for your case you should use object code from SELECT * from NNM3 WHERE «Series» not in (select «Series» from NNM1); query.
      For example:

      insert into NNM1 («ObjectCode», «Series», «SeriesName», «InitialNum», «NextNumber», «GroupCode», «Locked», «DocSubType», «DefESeries»,»IsDigSerie», «SeriesType», «IsManual», «IsForCncl», «IsElAuth»)
      values (‘ ObjectCode FROM QUERY’, Series from Query, ‘Primary’, 1,1,1, ‘N’, ‘ DocSubType from Query‘,0,’N’,’W’,’N’,’N’,’N’);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *