Під час спроби частково закрити виробничі замовлення. Хоча ця помилка найчастіше виникає через запаси або фінансові пакети, які не опубліковано, імовірно, вона сидить під час пакетного відновлення (процедури>>пакетного відновлення), то простіше джерело цієї помилки буде розкрито тригер. Що таке "загублений тригер"? – Виробничий закритий, частковий або іншим способом записує відомості про записи в журналі в таблиці ICGL0102 компанії. Після успішного опублікування запису журналу рядки виробничих замовлень (наприклад, пункти списку вибору) у ICGL0102 буде видалено. Якщо тригер G/L втрачає ці рядки, вони ніколи не видаляються, а таблиця продовжує збільшуватися. Проблема проявляється, коли намагаються виконати вже частково опубліковане виробниче замовлення, з'являється повідомлення про відкладену транзакцію. Крім того, закривається повне виробниче замовлення, а записи в ICGL0102 залишаються, але подальше публікування не відбувається в такому порядку, тому що помилка ніколи не стається. Пропонований початковий крок – порівняти вміст ICGL0102 із записами в журналі, знайденими на екрані запиту у щоденнику (Inquiry>>Financial>>Journal Entry), щоб визначити, чи опубліковано фактично рядки ICGL0102. Лише DBA має виконувати ці процедури, і DBA має бути єдиним користувачем у системі (крім того, комутованого). 1) У SQL Server 7.0 Enterprise Manager (Start=>Programs=>Microsoft SQL Server 7.0=>Enterprise Manager) перейдіть до частини баз даних (наприклад, TWO). Скопіюуйте резервні копії даних компанії (наприклад, TWO) і DYNAMICS. У SQL Server клацніть правою кнопкою миші базу даних, виберіть &Усі завдання,8 &Резервна копія бази даних.8 2) У диспетчері SQL Server Enterprise Manager перейдіть до бази даних компанії (наприклад, "ДВА"), а потім перейдіть до частини таблиць. 3) Знайдіть таблицю GL10001 і перевірте тригери (виділіть таблицю одним клацанням миші, а потім клацніть правою кнопкою миші, =>All Tasks=>Manage Triggers" (Керувати тригерами). У розкривному &Name8 (Ім'я 8) визначте, чи є &ICGL_TRX_LINE_WORK_DELETE8 тригера. Відсутність тригера – це джерело проблем із частковим виробничим замовленням. Якщо тригер присутній у вас інша проблема. 4) Якщо це можливо, виконайте пошук в інших корпоративних базах даних (наприклад, TWO) і знайдіть місце розташування тригера (виконайте кроки в три пункти). Якщо ви не можете знайти тригер Виробнича підтримка та надамо вам тригер електронною поштою. Виділіть і скопіюйте тригер до буфера. 5) Уважно прочитайте читати в Microsoft SQL Server 7.0, відкрийте аналізатор запитів (у корпоративному диспетчері, Tools=>SQL Server Query Analyzer). У розкривному &DB8 (база даних) виберіть базу даних компанії, для яких бракує тригера&ICGL_TRX_LINE_WORK_DELETE8. Вставте тригер у вікні та виконайте сценарій (зелена стрілка). 6) Рекомендовано) Exit from eEnterprise, stop and start your server, reenter eEnterprise and test partial manufacturing order closes on a NEW manufacturing order. Старі, частково опубліковані виробничі замовлення й надалі матиме помилку. 7) Щоб виконати наявні частково опубліковані виробничі замовлення, видаліть відносні лінії в таблиці компанії ICGL0102 (у enterprise Manager перейдіть до бази даних компанії, знайдіть таблицю ICGL0102, виділіть таблицю одним клацанням миші, а потім клацніть правою кнопкою миші та виберіть команду =>Open Table=>Поверніть усі рядки, виділіть рядки виробничого замовлення в лівому стовпці та натисніть клавішу Delete). Обов'язково видаліть лише рядки опублікованих виробничих замовлень) на екрані запиту, згаданому вище, щоб переконатися, що це сталося.
Ця стаття: TechKnowledge Document ID:5738