[ОТВЕТИТЬ]
03.04.2011 19:30
ckadi
 
Перевел базу с Oracle 9.2.0.7.0 на 10.2.0.4. СМ2к 1.026сп3.
Переводил по мануалу -- Переход с 9i на 10g (для баз Супермага) + затем выполнил @?/rdbms/admin/utlrp; после этого ошибок не было. Эталону не соответствовала как до перевода, так и после ( инвалидные объекты - ).
Должности, юзеры заводятся, накладные создаются\удаляются, акт переоценки делал - вступил в силу, полное пересоздание индексов в адм.модуле прошло успешно, отчеты выполняются.
Кассовый модуль в "просмотр событий->приложение" выдает ошибку:
Тип события: Ошибка
Источник события: SMCash Server
Категория события: Сервер
Код события: 2052
Дата: 03.04.2011
Время: 21:43:15
Пользователь: Н/Д
Компьютер: SOV-SM
Описание:
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже.
Запись 1. Код=80040e21h (1403) [Microsoft OLE DB Provider for Oracle]:
ORA-01403: данные не найдены
ORA-06512: на "SUPERMAG.CASH", line 1508
ORA-06512: на "SUPERMAG.CASH", line 1556
ORA-06512: на "SUPERMAG.CASH", line 1596
ORA-06512: на line 2

Запись 2. Код=80004005h (0) [SmLibaryBase trace]:
begin
Supermag.Cash.CreateCashDocs;end;
%3 %4 %5 %6 %7 %8


Удалил 1 кассовый документ, попробовал создать новый, выдалось:
ORA-01403: no data found
ORA-06512: at "SUPERMAG.CASH", line 1508
ORA-06512: at "SUPERMAG.CASH", line 1556
ORA-06512: at "SUPERMAG.DOC3", line 1186
ORA-06512: at "SUPERMAG.SMDOCCREATECS", line 6
ORA-06512: at line 1

{ call SuperMag.SMDocCreateCS(?, ?, ?) }
Params:
{0} ID[50](0,0): vt=8 value= AUTO-TTDocList
{1} CreatedAt[0](0,0): vt=7 value=03.02.2011
{2} Location[0](0,0): vt=3 value=3

Это решить можно или сносить 10ку, ставить 9ку, разворачивать бэкап?
03.04.2011 19:34
OlegON
 
Очень похоже на проблему, пофикшенную в ближайших сервиспаках...
03.04.2011 19:46
ckadi
 
Откатываюсь на 9ку, повышение версии см2к зависит не от меня. Когда решат о повышении версии см2к, тогда еще раз перевод на 10ку сделаю.
03.04.2011 19:55
OlegON
 
Чтобы не мучить мою память, предлагаю обратиться в С+, уточнить, в каком сп была поправлена эта ошибка. Взять этот сп, накатить оттуда скрипт, который содержит cash в названии и написать сюда номер сп, я уже несколько лет мучаюсь... Да не надо поднимать версию!!! Один пакет поменять. Из тех, что у меня есть, вижу поправку в 1026.3 сп2. Но, вроде, есть поближе и конкретно по этой ошибке.
05.04.2011 12:43
ckadi
 
на фтп сервис+ в ...\1.026.3 sp3\Attention.TXT:
Внимание сервис паков 1 и 2 официально не существует.
Искать их на FTP и требовать предоставить дисрибутивы - не следует.

В 1.026.3 sp3 \scripts лежат Cash.sql, CashPkg.sql, CashPkgBody.sql, CashProc.sql, их попробую выполнить.
10.05.2011 17:20
ckadi
 
Выполнил Cash.sql, CashPkg.sql, CashPkgBody.sql, CashProc.sql из 1.026.3 sp3. При создании кассового документа вручную выдается ошибка из 2х частей:

ORA-04063: package body "SUPERMAG.CASH" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SUPERMAG.CASH"
ORA-06512: at "SUPERMAG.DOC3", line 1186
ORA-06512: at "SUPERMAG.SMDOCCREATECS", line 6
ORA-06512: at line 1

{ call SuperMag.SMDocCreateCS(?, ?, ?) }
Params:
{0} ID[50](0,0): vt=8 value= AUTO-TTDocList
{1} CreatedAt[0](0,0): vt=7 value=08.04.2011
{2} Location[0](0,0): vt=3 value=3

В журнале событий винды:
Тип события: Ошибка
Источник события: SMCash Server
Категория события: Сервер
Код события: 2052
Дата: 08.05.2011
Время: 19:42:38
Пользователь: Н/Д
Компьютер: SOV46-SM2K
Описание:
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже.
Запись 1. Код=80004005h (4063) [Microsoft OLE DB Provider for Oracle]:
ORA-04063: package body "SUPERMAG.CASH" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SUPERMAG.CASH"
ORA-06512: at line 1
Запись 2. Код=80004005h (4063) [Microsoft OLE DB Provider for Oracle]:
ORA-04063: package body "SUPERMAG.CASH" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SUPERMAG.CASH"
ORA-06512: at line 1
Запись 3. Код=80004005h (4063) [Microsoft OLE DB Provider for Oracle]:
ORA-04063: package body "SUPERMAG.CASH" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SUPERMAG.CASH"
ORA-06512: at line 1
Запись 4. Код=80004005h (4063) [Microsoft OLE DB Provider for Oracle]:
ORA-04063: package body "SUPERMAG.CASH" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SUPERMAG.CASH"
ORA-06512: at line 1
Запись 5. Код=80004005h (0) [SmLibaryBase trace]:
{ ? = call Supermag.Cash.GetCashPriceType(?, ?) }
Params:
{0} (null)[0](0,0): vt=0 value=<not printable>
{1} (null)[0](0,0): vt=3 value=25
{2} (null)[0](0,0): vt=0 value=<not printable>
Запись 6. Код=80004005h (0) [SmLibaryBase trace]:
{ ? = call Supermag.Cash.GetCashPriceType(?, ?) }
Params:
{0} (null)[0](0,0): vt=0 value=<not printable>
{1} (null)[0](0,0): vt=3 value=8
{2} (null)[0](0,0): vt=0 value=<not printable>
Запись 7. Код=80004005h (0) [SmLibaryBase trace]:
{ ? = call Supermag.Cash.GetCashPriceType(?, ?) }
Params:
{0} (null)[0](0,0): vt=0 value=<not printable>
{1} (null)[0](0,0): vt=3 value=2
{2} (null)[0](0,0): vt=0 value=<not printable>
Запись 8. Код=80004005h (0) [SmLibaryBase trace]:
{ ? = call Supermag.Cash.GetCashPriceType(?, ?) }
Params:
{0} (null)[0](0,0): vt=0 value=<not printable>
{1} (null)[0](0,0): vt=3 value=3
{2} (null)[0](0,0): vt=0 value=<not printable>

Что делать?
10.05.2011 17:34
John Doe
 
Инвалиды есть?
10.05.2011 20:59
ckadi
 
----------- invalid packages -----------------
TYPE NAME
PACKAGE BODY CASH
10.05.2011 21:58
Dim
 
запусти оптимайзера
10.05.2011 21:58
OlegON
 
Компильни и посмотри, почему инвалид... У С+ спросил, в каком сервиспаке фиксили cash для 10 Оракла?
11.05.2011 09:45
ckadi
 
Цитата:
OlegON Компильни и посмотри, почему инвалид... У С+ спросил, в каком сервиспаке фиксили cash для 10 Оракла?
-- Инвалиды в схеме и как это страшно... прогонял, а также @?/rdbms/admin/utlrp; - не компилируется.
Как посмотреть почему инвалид?
Начальство сказало, что тех. поддержку по см2к,укм4 не оплачиваем мы, поэтому не ответят.

Попробую оптимайзера запустить.
11.05.2011 10:36
ckadi
 
11.05.11 13:27:35 -- Gathering list of invalid package bodies
11.05.11 13:27:35 -- Invalid package bodies count: 1
11.05.11 13:27:36 -- Recompiling package body SUPERMAG."CASH"
11.05.11 13:27:37 -- ***************************** Errors *****************************
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 7 328 12 PLS-00323: subprogram or cursor 'DELETEACTIVITYCLIENT' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 6 316 11 PLS-00323: subprogram or cursor 'READCASHDISCSUM' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 5 312 11 PLS-00323: subprogram or cursor 'READCHECKDISCSUM' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 4 308 11 PLS-00323: subprogram or cursor 'READDISCCARDSSUM' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 3 304 11 PLS-00323: subprogram or cursor 'READCREDCARDSUM' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 2 242 12 PLS-00323: subprogram or cursor 'GETCURRENTCOLLECTDISCPERCENT' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:38 -- SUPERMAG CASH PACKAGE BODY 1 108 11 PLS-00323: subprogram or cursor 'GETDISCLIMITCARDFORPOS' is declared in a package specification and must be defined in the package body ERROR 323
11.05.11 13:27:39 -- Impossible to compile : 1 package bodies
11.05.11 13:27:39 -- Package bodies compilation finished...
11.05.11 13:27:39 -- **************************************************************


11.05.11 13:27:40 -- Gathering list of invalid object owners
11.05.11 13:27:41 -- Invalid schema count: 1
11.05.11 13:27:41 -- Recompiling schema SUPERMAG
11.05.11 13:27:43 -- ***************************** Errors *****************************
11.05.11 13:27:43 -- SUPERMAG CASH PACKAGE BODY 7 328 12 PLS-00323: подпрограмма или курсор 'DELETEACTIVITYCLIENT' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:43 -- SUPERMAG CASH PACKAGE BODY 6 316 11 PLS-00323: подпрограмма или курсор 'READCASHDISCSUM' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:44 -- SUPERMAG CASH PACKAGE BODY 5 312 11 PLS-00323: подпрограмма или курсор 'READCHECKDISCSUM' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:44 -- SUPERMAG CASH PACKAGE BODY 4 308 11 PLS-00323: подпрограмма или курсор 'READDISCCARDSSUM' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:44 -- SUPERMAG CASH PACKAGE BODY 3 304 11 PLS-00323: подпрограмма или курсор 'READCREDCARDSUM' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:44 -- SUPERMAG CASH PACKAGE BODY 2 242 12 PLS-00323: подпрограмма или курсор 'GETCURRENTCOLLECTDISCPERCENT' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:44 -- SUPERMAG CASH PACKAGE BODY 1 108 11 PLS-00323: подпрограмма или курсор 'GETDISCLIMITCARDFORPOS' объявлены в спецификации пакета и должны быть определены в теле пакета ERROR 323
11.05.11 13:27:44 -- Impossible to compile : 1
11.05.11 13:27:45 -- Schema compilation finished...
11.05.2011 10:38
Mtirt
 
Еще раз запустить генератор БД?
11.05.2011 10:44
John Doe
 
При этом смысл привинчивания нового пакета пропадет. Нужно, чтобы кто-то с техподдержкой спросил, где обновление для исправления кассовых документов под Oracle 10g. У меня техподдержки нет.
Хорошо бы посмотреть, чем закончилось применение тех пакетов, что в сервиспаке были, сдается мне, что можно их прогнать еще раз и все поправится.
11.05.2011 11:11
ckadi
 
Из run_script.sql вырезал проверку версии см2к, изменение версии см2к, а также выполнение *.sql "не нужных":

SQL> @run_script.sql;
----------------------------- CashPkg.sql

Warning: Package created with compilation errors.


Commit complete.

----------------------------- CashProc.sql
on SMActivityClient
*
ERROR at line 2:
ORA-00942: table or view does not exist



Commit complete.

----------------------------- Cash.sql

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

----- Перекомпиляция хранимых процедур, функций -----

PL/SQL procedure successfully completed.

-------------- Перекомпиляция пакетов ---------------

PL/SQL procedure successfully completed.

----- Перекомпиляция триггеров -----

PL/SQL procedure successfully completed.

------------ Перекомпиляция нескомпилированных объектов -----------

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

---------- Нескомпилированные представления -----------

no rows selected

---------- Нескомпилированные функции -----------------

no rows selected

---------- Нескомпилированные процедуры ---------------

no rows selected

----------- Нескомпилированные пакеты -----------------

TYPE
-------------
NAME
--------------------------------------------------------------------------------
PACKAGE
CASH

----------- Нескомпилированные триггеры -----------------

no rows selected

Commit complete.

Пробовал "Генератор БД" прогонять по живой базе - при логине в см2к выдавалось что база 1.026, а ПО 1.026sp3, прогонял из сп3 скрипты - не помогало.
До выполнения скриптов из 1.026.3sp3 не было инвалидов.
11.05.2011 11:12
Николай
 
порылся в архивах - ближайшая версия где это пификсено 1.026.1
30.04.08 (№ 771) SP № 1

SMORA00003160. Кассовые документы. Исправлено: расчет статистики по налогам завершался ошибкой "ORA-01403: данные не найдены" на базе Oracle 10g.
SmTxBody.sql
11.05.2011 11:22
Mtirt
 
Так и возьми скрипты от 1.026.1 sp 1.
И убери проверку номера версии.

Хотя, там может быть и библиотека меняется...
11.05.2011 11:34
Николай
 
это навело на мысль почитать описание следующего сервис пака:

SP № 2
SMORA00003169. Кассовые документы. Исправлено: не отбирались для показа документы "Возвраты по кассе". Ошибка внесена в сервис паке 1 к версии 1.026.1.
SmDomDocsCS.dll

так что судя по всему лекарство - только поднятие версии
11.05.2011 11:39
John Doe
 
Цитата:
Николай это навело на мысль почитать описание следующего сервис пака:
SmDomDocsCS.dll
так что судя по всему лекарство - только поднятие версии
dll остается старая, т.е. можно всего лишь тот SmTxBody.sql прогнать.
Т.е. лечение - откат обратно до штатной БД (1.026 сп3), запуск SmTxBody.sql
11.05.2011 13:35
ckadi
 
Цитата:
John Doe dll остается старая, т.е. можно всего лишь тот SmTxBody.sql прогнать.
Т.е. лечение - откат обратно до штатной БД (1.026 сп3), запуск SmTxBody.sql
SQL> @run_script.sql;
----------------------------- SmTxBody.sql

Warning: Package created with compilation errors.

Errors for PACKAGE TAXES:

LINE/COL ERROR
-------- -----------------------------------------------------------------
19/2 PL/SQL: Declaration ignored
19/22 PLS-00201: identifier 'SMDOCUMENTS.DOCTYPE' must be declared
20/2 PL/SQL: Declaration ignored
20/20 PLS-00201: identifier 'SMDOCUMENTS.ID' must be declared
21/2 PL/SQL: Declaration ignored
21/24 PLS-00201: identifier 'SMDOCUMENTS.CREATEDAT' must be declared
22/2 PL/SQL: Declaration ignored
22/21 PLS-00201: identifier 'SMDOCUMENTS.CLIENTINDEX' must be declared
23/2 PL/SQL: Declaration ignored
23/22 PLS-00201: identifier 'SMTAXIDENTITY.IDENTID' must be declared
24/2 PL/SQL: Declaration ignored

LINE/COL ERROR
-------- -----------------------------------------------------------------
24/20 PLS-00201: identifier 'SMTAXES.TAXID' must be declared
25/2 PL/SQL: Declaration ignored
25/25 PLS-00201: identifier 'SMSTORELOCATIONS.ID' must be declared
26/2 PL/SQL: Declaration ignored
26/22 PLS-00201: identifier 'SMCARD.ARTICLE' must be declared
33/2 PL/SQL: Declaration ignored
33/36 PLS-00201: identifier 'SMTAXGROUP.TAXGROUPID' must be declared
39/5 PL/SQL: Declaration ignored
39/42 PLS-00201: identifier 'SMTAXGROUP.TAXGROUPID' must be declared

Commit complete.

Warning: Package Body created with compilation errors.

Errors for PACKAGE BODY TAXES:

LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0 PL/SQL: Compilation unit analysis terminated
1/14 PLS-00304: cannot compile body of 'TAXES' without its
specification

1/14 PLS-00905: object SYS.TAXES is invalid

Commit complete.

------------ Перекомпиляция представлений -----------

PL/SQL procedure successfully completed.

----- Перекомпиляция хранимых процедур, функций -----

PL/SQL procedure successfully completed.

-------------- Перекомпиляция пакетов ---------------

PL/SQL procedure successfully completed.

----- Перекомпиляция триггеров -----

PL/SQL procedure successfully completed.

------------ Перекомпиляция нескомпилированных объектов -----------

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

---------- Нескомпилированные представления -----------

no rows selected

---------- Нескомпилированные функции -----------------

no rows selected

---------- Нескомпилированные процедуры ---------------

no rows selected

----------- Нескомпилированные пакеты -----------------

TYPE
-------------
NAME
--------------------------------------------------------------------------------
PACKAGE
TAXES

PACKAGE BODY
TAXES

----------- Нескомпилированные триггеры -----------------
no rows selected
Commit complete.

Сообщение об ошибке при создании кассового дока как в 1м посте.
11.05.2011 13:48
John Doe
 
Цитата:
ckadi PLS-00905: object SYS.TAXES is invalid
Убедительная просьба, не надо в notes запихивать кучу текста, есть quote и вообще spl.
А по делу - надо вернуться в 26sp3 и из под supermag все супермажные скрипты гонять.
11.05.2011 17:32
ckadi
 
Цитата:
John Doe надо вернуться в 26sp3 и из под supermag все супермажные скрипты гонять.
Откатился до 1.026сп3, под supermag выполнил SmTxBody.sql - инвалидов нет, удалил пару кассовых доков, потом создал вручную - создалось. Подсунул в папку обмена выгрузку из УКМ4 - кассовый модуль принял, сгенерировал кассовые доки. Проблема решена.
P.s. Большое спасибо за помощь.
11.05.2011 17:38
John Doe
 
Если не очень влом - выложи сюда этот злосчастный SmTxBody.sql
Ищем уже не первый раз.
Опции темы


Часовой пояс GMT +3, время: 07:14.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.