Skip to Content
author's profile photo Former Member
Former Member

SAP B1 9.2 PL1 Upgrade error

Anyone had any problems upgrading to 9.2 PL1?

I tried last night, and there was a DB error during the upgrade relating to TmSp_GLAccountMigration execution failing, the error in the upgrade gui just says it's with "_FU_P".

I've reported it to our SAP partner, just wondered in the meantime if anyone had any ideas. It even fails on the demo company

No downtime on our part; done over a weekend, and i just restored the VM snapshot and we were back up and running in a few minutes.

Thanks in advance!

2016-02-14 04:02:08.609899 Stp Err I Tec "CProcedureDepends sp (TmSp_GLAccountMigration) execution failed, error: -1STACK:Frame id=00: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600DACAC

Frame id=01: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C023D

Frame id=02: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C05D0

Frame id=03: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C0831

Frame id=04: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C4075

Frame id=05: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\OBServerDLL.dll""; base=0x60220000, offset=0x604E92BC

Frame id=06: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01EC9ABF

Frame id=07: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01ECA466

Frame id=08: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01ECB18F

Frame id=09: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\OBServerDLL.dll""; base=0x60220000, offset=0x605F7309

Frame id=10: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01F8B132

Frame id=11: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01FC6309

Frame id=12: ""C:\Windows\syswow64\kernel32.dll""; base=0x755A0000, offset=0x755B338A

Frame id=13: ""C:\Windows\SysWOW64\ntdll.dll""; base=0x77360000, offset=0x77399A02

Frame id=14: ""C:\Windows\SysWOW64\ntdll.dll""; base=0x77360000, offset=0x773999D5

# #" TID=6904 ProcedureDepends.cpp 154 Customized=0 2016-02-14 04:02:08.609899 Stp Err I Tec "UpgStep-CreateSP 1 ...Failed, error code: -1STACK:Frame id=00: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600DACAC

Frame id=01: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C023D

Frame id=02: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C05D0

Frame id=03: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C0831

Frame id=04: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\B1_Engine.dll""; base=0x5FF30000, offset=0x600C4075

Frame id=05: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01EB6C2A

Frame id=06: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01EC9ADF

Frame id=07: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01ECA466

Frame id=08: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01ECB18F

Frame id=09: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\OBServerDLL.dll""; base=0x60220000, offset=0x605F7309

Frame id=10: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01F8B132

Frame id=11: ""D:\Frontline\Install Files\B19200_1-80000561\Packages\Client\Program Files\SAP\SAP Business One\SAP Business One.exe""; base=0x00030000, offset=0x01FC6309

Frame id=12: ""C:\Windows\syswow64\kernel32.dll""; base=0x755A0000, offset=0x755B338A

Frame id=13: ""C:\Windows\SysWOW64\ntdll.dll""; base=0x77360000, offset=0x77399A02

Frame id=14: ""C:\Windows\SysWOW64\ntdll.dll""; base=0x77360000, offset=0x773999D5

# #" TID=6904 POGen01.c 4899 Customized=0
Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

7 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Mar 30, 2016 at 10:45 AM

    I've not tried it yet, but I've been sent instructions to use both of the following SAP notes:

    http://service.sap.com/sap/support/notes/2025267

    http://service.sap.com/sap/support/notes/2263967

    Hope this helps!

    Message was edited by Moderator, notes content removed. Providing links only is best practice.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 16, 2016 at 08:46 AM

    Hi Sam,

    I looked for your concrete problem in internal information sources but found nothing relevant/helpful. I can only recommend to file an incident to SAP support experts on this upgrade failure.

    Best, Peter

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 26, 2016 at 08:23 PM

    Seems 9.1 PL11 has the same/similar issue...

    _FU_P object error during upgrade | SCN suggested a collation error

    Upgrade 8.81 Customer DB error -  Object _... | SCN suggested removing custom views

    Error on Upgrade 882 from PL04 to PL14 | SCN talks about the `Database 'FLNUOMTEST' is already open and can only have one user at a time.` error, but the fix is vague. The installer complains about some connections to the databases, and makes you get rid of them... So why it falls over this later is confusing

    26/02/2016 17:58:40:427568 Sql Err I Tec DBMCSqlStatement::ExecDirect SQLExecDirect failed. Error: -1, Query: Create Procedure TmSp_GLAccountMigration

    With Encryption

    AS

    /*****************************************************************************/

    /* Account Migration when applying the new G/L Account Determination Matrix. */

    /*****************************************************************************/

    /* Drop function dbo.TmSp_GLAccountMigration_Replace_Account if already existed. */

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.TmSp_GLAccountMigration_Replace_Account')

    AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))

    DROP FUNCTION dbo.TmSp_GLAccountMigration_Replace_Account

    /* Create function dbo.TmSp_GLAccountMigration_Replace_Account. */

    declare @sqlCreateFunction nvarchar(max)

    set @sqlCreateFunction = 'CREATE FUNCTION dbo.TmSp_GLAccountMigration_Replace_Account (@accountLevel nvarchar(max), @accountCompany nvarchar(max))

    RETURNS nvarchar(max) WITH EXECUTE AS CALLER AS BEGIN DECLARE @acctCode nvarchar(max) IF (DATALENGTH(ltrim(rtrim(@accountLevel))) <> DATALENGTH(ltrim(rtrim(@accountCompany)))) SET @acctCode = @accountLevel ELSE SET @acctCode = REPLACE(@accountLevel , ISNULL(@accountCompany, ''''), '''') RETURN(@acctCode) END'

    exec(@sqlCreateFunction)

    /* Declare variables. */

    declare @db sysname

    declare @countOfByWHS int, @countOfByIG int, @countOfByITEM int, @recordOfWHS int, @recordOfIG int, @recordOfITEM int, @returnedCount int

    declare @sql nvarchar(max), @sql1 nvarchar(max), @sql2 nvarchar(max), @accountLevel nvarchar(max), @accountCompany nvarchar(max), @lastAcct nvarchar(max)

    declare @periodCat nvarchar(max), @financYear nvarchar(max), @year nvarchar(max), @periodName nvarchar(max),

    @subType nvarchar(max), @periodNum nvarchar(max), @f_RefDate nvarchar(max), @t_RefDate nvarchar(max), @f_DueDate nvarchar(max), @t_DueDate nvarchar(max), @f_TaxDate nvarchar(max), @t_TaxDate nvarchar(max)

    /* Prepare temp table #OGAR to save temp result */

    if exists (select *

    from tempdb..sysobjects where name like '#OGAR%')

    drop table #OGAR

    /* Create table #OGAR - all fields are allowed to be NULL */

    create table #OGAR(

    [AbsEntry] [int] NULL, [PeriodCat] [nvarchar](10) NULL, [FinancYear] [datetime] NULL, [Year] [smallint] NULL, [PeriodName] [nvarchar](20) NULL, [SubType] [char](1) NULL, [PeriodNum] [int] NULL, [F_RefDate] [datetime] NULL, [T_RefDate] [datetime] NULL, [F_DueDate] [datetime] NULL, [T_DueDate] [datetime] NULL, [F_TaxDate] [datetime] NULL, [T_TaxDate] [datetime] NULL, [LogInstanc] [smallint] NULL, [UpdateDate] [datetime] NULL, [UserSign] [smallint] NULL, [UserSign2] [smallint] NULL, [ItemCode] [nvarchar](20) NULL, [ItmsGrpCod] [smallint] NULL, [WhsCode] [nvarchar](8) NULL, [BPGrpCod] [smallint] NULL, [LicTradNum] [nvarchar](32) NULL, [ShipCountr] [nvarchar](3) NULL, [ShipState] [nvarchar](3) NULL, [Comments] [nvarchar](254) NULL, [CreateDate] [datetime] NULL, [RuleCode] [nvarchar](20) NULL, [GLMethod] [char](1) NULL, /* Case V: C - Group by ItemGroup; L - Group by ItemLevel; W - Group by Warehouse; Otherwise: A - General. */ [Transfered] [char](1) NULL, [FromDate] [datetime] NULL, [ToDate] [datetime] NULL, [DfltExpn] [nvarchar](15) NULL, [DfltIncom] [nvarchar](15) NULL, [ExmptIncom] [nvarchar](15) NULL, [StockAct] [nvarchar](15) NULL, [COGM_Act] [nvarchar](15) NULL, [AlocCstAct] [nvarchar](15) NULL, [VariancAct] [nvarchar](15) NULL, [PricDifAct] [nvarchar](15) NULL, [NegStckAct] [nvarchar](15) NULL, [DfltLoss] [nvarchar](15) NULL, [DfltProfit] [nvarchar](15) NULL, [RturnngAct] [nvarchar](15) NULL, [ECIncome] [nvarchar](15) NULL, [ECExepnses] [nvarchar](15) NULL, [ForgnIncm] [nvarchar](15) NULL, [ForgnExpn] [nvarchar](15) NULL, [PurchseAct] [nvarchar](15) NULL, [PaReturnAc] [nvarchar](15) NULL, [PaOffsetAc] [nvarchar](15) NULL, [ExDiffAct] [nvarchar](15) NULL, [BalanceAct] [nvarchar](15) NULL, [DecresGlAc] [nvarchar](15) NULL, [IncresGlAc] [nvarchar](15) NULL, [WipAcct] [nvarchar](15) NULL, [WipVarAcct] [nvarchar](15) NULL, [WipOffset] [nvarchar](15) NULL, [StockOffst] [nvarchar](15) NULL, [StockRvAct] [nvarchar](15) NULL, [StkRvOfAct] [nvarchar](15) NULL, [CostRevAct] [nvarchar](15) NULL, [CostOffAct] [nvarchar](15) NULL, [ExpClrAct] [nvarchar](15) NULL, [ExpOfstAct] [nvarchar](15) NULL, [StkInTnAct] [nvarchar](15) NULL, [ShpdGdsAct] [nvarchar](15) NULL, [VatRevAct] [nvarchar](15) NULL, [ARCMAct] [nvarchar](15) NULL, [APCMAct] [nvarchar](15) NULL, [ARCMExpAct] [nvarchar](15) NULL, [ARCMFrnAct] [nvarchar](15) NULL, [APCMFrnAct] [nvarchar](15) NULL, [ARCMEUAct] [nvarchar](15) NULL, [APCMEUAct] [nvarchar](15) NULL, [PurBalAct] [nvarchar](15) NULL, [WhICenAct] [nvarchar](15) NULL, [WhOCenAct] [nvarchar](15) NULL, [Active] [char](1) NULL, [CmpPrivate] [char](1) NULL, [VatGroup] [nvarchar](8) NULL, [CardCode] [nvarchar](15) NULL, [Usage] [int] NULL, [FreeChrgSA] [nvarchar](15) NULL, [FreeChrgPU] [nvarchar](15) NULL)

    delete from #OGAR

    /* Before migration, delete all records from table OGAR */

    delete from OGAR

    /* prepare data to be saved. */

    select @countOfByWHS = COUNT(1) from OITM where GLMethod = 'W'

    select @countOfByIG = COUNT(1) from OITM where GLMethod = 'C'

    select @countOfByITEM = COUNT(1) from OITM where GLMethod = 'L'

    /* Fields mapping between OWHS/OITB/OITW and OACP.

    w - field alias in OWHS/OITB/OITW

    a - field alias in OACP

    l - last account? */

    declare @FieldMap table (w nvarchar(max), a nvarchar(max), l nvarchar(max))

    insert into @FieldMap

    select 'ExpensesAc', 'DfltExpn', 'N' union all select 'RevenuesAc', 'DfltIncom', 'N' union all select 'ExmptIncom', 'ExmptIncom', 'N' union all select 'BalInvntAc', 'StockAct', 'N' union all select 'SaleCostAc', 'COGM_Act', 'N' union all select 'TransferAc', 'AlocCstAct', 'N' union all select 'VarianceAc', 'VariancAct', 'N' union all select 'PriceDifAc', 'PricDifAct', 'N' union all select 'NegStckAct', 'NegStckAct', 'N' union all select 'DecreasAc', 'DfltLoss', 'N' union all select 'IncreasAc', 'DfltProfit', 'N' union all select 'ReturnAc', 'RturnngAct', 'N' union all select 'EURevenuAc', 'ECIncome', 'N' union all select 'EUExpensAc', 'ECExepnses', 'N' union all select 'FrRevenuAc', 'ForgnIncm', 'N' union all select 'FrExpensAc', 'ForgnExpn', 'N' union all select 'PurchaseAc', 'PurchseAct', 'N' union all select 'PAReturnAc', 'PaReturnAc', 'N' union all select 'PurchOfsAc', 'PaOffsetAc', 'N' union all select 'ExchangeAc', 'ExDiffAct', 'N' union all select 'BalanceAcc', 'BalanceAct', 'N' union all select 'DecresGlAc', 'DecresGlAc', 'N' union all select 'IncresGlAc', 'IncresGlAc', 'N' union all select 'WipAcct', 'WipAcct', 'N' union all select 'WipVarAcct', 'WipVarAcct', 'N' union all select 'WipOffset', 'WipOffset', 'N' union all select 'StockOffst', 'StockOffst', 'N' union all select 'StokRvlAct', 'StockRvAct', 'N' union all select 'StkOffsAct', 'StkRvOfAct', 'N' union all select 'CostRvlAct', 'CostRevAct', 'N' union all select 'CstOffsAct', 'CostOffAct', 'N' union all select 'ExpClrAct', 'ExpClrAct', 'N' union all select 'ExpOfstAct', 'ExpOfstAct', 'N' union all select 'StkInTnAct', 'StkInTnAct', 'N' union all select 'ShpdGdsAct', 'ShpdGdsAct', 'N' union all select 'VatRevAct', 'VatRevAct', 'N' union all select 'ARCMAct', 'ARCMAct', 'N' union all select 'APCMAct', 'APCMAct', 'N' union all select 'ARCMExpAct', 'ARCMExpAct', 'N' union all select 'ARCMFrnAct', 'ARCMFrnAct', 'N' union all select 'APCMFrnAct', 'APCMFrnAct', 'N' union all select 'ARCMEUAct', 'ARCMEUAct', 'N' union all select 'APCMEUAct', 'APCMEUAct', 'N' union all select 'PurBalAct', 'PurBalAct', 'N' union all select 'WhICenAct', 'WhICenAct', 'N' union all select 'WhOCenAct', 'WhOCenAct', 'Y'

    /*

    Case I: If all value are 'W' which means all items of the company were set G/L account by Warehouse

    1. Take all types of the accounts from warehouses whose values are different from company level.

    */

    if @countOfByWHS > 0 and @countOfByIG + @countOfByITEM = 0

    begin declare db_cursor1 CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor1 FETCH NEXT FROM db_cursor1 INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, ''!^|'', ''-1'', OWHS.WhsCode, ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL' /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OWHS.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OWHS.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OWHS.' + @accountLevel + ' != '''' and OWHS.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor1 INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OWHS inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql)

    close db_cursor1 deallocate db_cursor1 end

    /*

    Case II : If all value are 'C', which means all items of the company were set G/L account by Item Group

    1. Take all types of the accounts from itemgroups whose values are different from company level.

    */

    else if @countOfByIG > 0 and @countOfByWHS+@countOfByITEM = 0

    begin declare db_cursor2 CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor2 FETCH NEXT FROM db_cursor2 INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, ''!^|'', OITB.ItmsGrpCod, ''!^|'', ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL'

    /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OITB.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OITB.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OITB.' + @accountLevel + ' != '''' and OITB.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor2 INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OITB inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql) close db_cursor2 deallocate db_cursor2 end

    /*

    Case III : If all value are 'W' or 'L', which means all items were set by Warehouse or by item

    1. Take all types of the accounts from warehouses whose values are different from company level. 2. Take all types of the accounts from table OITW whose values are different from warehouses.

    */

    else if @countOfByWHS+@countOfByITEM > 0 and @countOfByIG = 0

    begin declare db_cursor3X CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor3X FETCH NEXT FROM db_cursor3X INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, ''!^|'', ''-1'', OWHS.WhsCode, ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL' /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OWHS.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OWHS.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OWHS.' + @accountLevel + ' != '''' and OWHS.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor3X INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OWHS inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql) close db_cursor3X deallocate db_cursor3X /*--------------------------------------------------------------------------------------------------*/ declare db_cursor3 CURSOR FOR select OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1 order by OACP.PeriodCat

    OPEN db_cursor3 FETCH NEXT FROM db_cursor3 INTO @periodCat, @financYear, @year, @periodName, @subType, @periodNum, @f_RefDate, @t_RefDate, @f_DueDate, @t_DueDate, @f_TaxDate, @t_TaxDate

    /* Loop all posting periods */ WHILE @@FETCH_STATUS = 0 begin declare db_cursor3Y CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor3Y FETCH NEXT FROM db_cursor3Y INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, OITW.ItemCode, OITM.ItmsGrpCod, OITW.WhsCode, ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL'

    /* 46 accounts selection */ set @sql1 = ''

    /* 46 accounts condition */ set @sql2 = '' /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OITW.' + @accountLevel + ', ISNULL(OWHS.' + @accountLevel + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OITW.' + @accountLevel + ' != OWHS.' + @accountLevel + ' or OWHS.' + @accountLevel + ' IS NULL' + ' or OWHS.' + @accountLevel + ' = '''') and OITW.' + @accountLevel + ' != '''' and OITW.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor3Y INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OITW inner join OITM on OITW.itemcode = OITM.itemcode inner join OWHS on OITW.WhsCode = OWHS.WhsCode where OITM.GLMethod = ''L'' and ' + @sql2

    /* Execute SQL */ exec(@sql)

    /* Fill values for PeriodCat, FinancYear ... */ update #OGAR set PeriodCat = @periodCat where PeriodCat = '' or PeriodCat IS NULL update #OGAR set FinancYear = @financYear where PeriodCat = @periodCat and (FinancYear = '' or FinancYear IS NULL) update #OGAR set Year = @year where PeriodCat = @periodCat and (Year = '' or Year IS NULL) update #OGAR set PeriodName = @periodName where PeriodCat = @periodCat and (PeriodName = '' or PeriodName IS NULL) update #OGAR set SubType = @subType where PeriodCat = @periodCat and (SubType = '' or SubType IS NULL) update #OGAR set PeriodNum = @periodNum where PeriodCat = @periodCat and (PeriodNum = '' or PeriodNum IS NULL) update #OGAR set F_RefDate = @f_RefDate where PeriodCat = @periodCat and (F_RefDate = '' or F_RefDate IS NULL) update #OGAR set T_RefDate = @t_RefDate where PeriodCat = @periodCat and (T_RefDate = '' or T_RefDate IS NULL) update #OGAR set F_DueDate = @f_DueDate where PeriodCat = @periodCat and (F_DueDate = '' or F_DueDate IS NULL) update #OGAR set T_DueDate = @t_DueDate where PeriodCat = @periodCat and (T_DueDate = '' or T_DueDate IS NULL) update #OGAR set F_TaxDate = @f_TaxDate where PeriodCat = @periodCat and (F_TaxDate = '' or F_TaxDate IS NULL) update #OGAR set T_TaxDate = @t_TaxDate where PeriodCat = @periodCat and (T_TaxDate = '' or T_TaxDate IS NULL) close db_cursor3Y deallocate db_cursor3Y

    FETCH NEXT FROM db_cursor3 INTO @periodCat, @financYear, @year, @periodName, @subType, @periodNum, @f_RefDate, @t_RefDate, @f_DueDate, @t_DueDate, @f_TaxDate, @t_TaxDate end close db_cursor3 deallocate db_cursor3 end

    /*

    Case IV : If all value are 'C' or 'L', which means all items were set by Item Group or by item

    1. Take all types of the accounts from itemgroups whose values are different from company level. 2. Take all types of the accounts from table OITW whose values are different from itemgroups.

    */

    else if @countOfByIG+@countOfByITEM > 0 and @countOfByWHS = 0

    begin declare db_cursor4X CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor4X FETCH NEXT FROM db_cursor4X INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, ''!^|'', OITB.ItmsGrpCod, ''!^|'', ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL'

    /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OITB.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OITB.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OITB.' + @accountLevel + ' != '''' and OITB.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor4X INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OITB inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql) close db_cursor4X deallocate db_cursor4X /*--------------------------------------------------------------------------------------------------*/ declare db_cursor4 CURSOR FOR select OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1 order by OACP.PeriodCat

    OPEN db_cursor4 FETCH NEXT FROM db_cursor4 INTO @periodCat, @financYear, @year, @periodName, @subType, @periodNum, @f_RefDate, @t_RefDate, @f_DueDate, @t_DueDate, @f_TaxDate, @t_TaxDate

    /* Loop all posting periods */ WHILE @@FETCH_STATUS = 0 begin declare db_cursor4Y CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor4Y FETCH NEXT FROM db_cursor4Y INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, OITW.ItemCode, OITM.ItmsGrpCod, OITW.WhsCode, ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL'

    /* 46 accounts selection */ set @sql1 = ''

    /* 46 accounts condition */ set @sql2 = '' /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OITW.' + @accountLevel + ', ISNULL(OITB.' + @accountLevel + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OITW.' + @accountLevel + ' != OITB.' + @accountLevel + ' or OITB.' + @accountLevel + ' IS NULL' + ' or OITB.' + @accountLevel + ' = '''') and OITW.' + @accountLevel + ' != '''' and OITW.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor4Y INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OITW inner join OITM on OITW.itemcode = OITM.itemcode inner join OITB on OITB.ItmsGrpCod = OITM.ItmsGrpCod where OITM.GLMethod = ''L'' and ' + @sql2

    /* Execute SQL */ exec(@sql)

    /* Fill values for PeriodCat, FinancYear ... */ update #OGAR set PeriodCat = @periodCat where PeriodCat = '' or PeriodCat IS NULL update #OGAR set FinancYear = @financYear where PeriodCat = @periodCat and (FinancYear = '' or FinancYear IS NULL) update #OGAR set Year = @year where PeriodCat = @periodCat and (Year = '' or Year IS NULL) update #OGAR set PeriodName = @periodName where PeriodCat = @periodCat and (PeriodName = '' or PeriodName IS NULL) update #OGAR set SubType = @subType where PeriodCat = @periodCat and (SubType = '' or SubType IS NULL) update #OGAR set PeriodNum = @periodNum where PeriodCat = @periodCat and (PeriodNum = '' or PeriodNum IS NULL) update #OGAR set F_RefDate = @f_RefDate where PeriodCat = @periodCat and (F_RefDate = '' or F_RefDate IS NULL) update #OGAR set T_RefDate = @t_RefDate where PeriodCat = @periodCat and (T_RefDate = '' or T_RefDate IS NULL) update #OGAR set F_DueDate = @f_DueDate where PeriodCat = @periodCat and (F_DueDate = '' or F_DueDate IS NULL) update #OGAR set T_DueDate = @t_DueDate where PeriodCat = @periodCat and (T_DueDate = '' or T_DueDate IS NULL) update #OGAR set F_TaxDate = @f_TaxDate where PeriodCat = @periodCat and (F_TaxDate = '' or F_TaxDate IS NULL) update #OGAR set T_TaxDate = @t_TaxDate where PeriodCat = @periodCat and (T_TaxDate = '' or T_TaxDate IS NULL) close db_cursor4Y deallocate db_cursor4Y

    FETCH NEXT FROM db_cursor4 INTO @periodCat, @financYear, @year, @periodName, @subType, @periodNum, @f_RefDate, @t_RefDate, @f_DueDate, @t_DueDate, @f_TaxDate, @t_TaxDate end close db_cursor4 deallocate db_cursor4 end

    /*

    Case V : If all value are 'C' or 'W', or all value are 'C' or 'W' or 'L'

    1. Take all types of the accounts from warehouses whose values are different from company level. 2. Take all types of the accounts from itemgroups whose values are different from company level. 3. Take all types of the accounts from table OITW whose values are different from company level - we have taken the flag together with the rules, so compare to the company level instead of itemgroups/warehouses.

    */

    else if @countOfByWHS > 0 and @countOfByIG > 0

    begin declare db_cursor5X CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor5X FETCH NEXT FROM db_cursor5X INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, ''!^|'', ''-1'', OWHS.WhsCode, ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''W'', ''N'', NULL, NULL' /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OWHS.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OWHS.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OWHS.' + @accountLevel + ' != '''' and OWHS.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor5X INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OWHS inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql) close db_cursor5X deallocate db_cursor5X /*--------------------------------------------------------------------------------------------------*/ declare db_cursor5Y CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor5Y FETCH NEXT FROM db_cursor5Y INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, ''!^|'', OITB.ItmsGrpCod, ''!^|'', ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''C'', ''N'', NULL, NULL'

    /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OITB.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OITB.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OITB.' + @accountLevel + ' != '''' and OITB.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor5Y INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OITB inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql) close db_cursor5Y deallocate db_cursor5Y /*--------------------------------------------------------------------------------------------------*/

    declare db_cursor5Z CURSOR FOR SELECT w, a, l from @FieldMap OPEN db_cursor5Z FETCH NEXT FROM db_cursor5Z INTO @accountLevel, @accountCompany, @lastAcct

    /* Overall query SQL */ set @sql = 'insert into #OGAR select NULL, OACP.PeriodCat, OACP.FinancYear, OACP.Year, OACP.PeriodName, OACP.SubType, OACP.PeriodNum, OACP.F_RefDate, OACP.T_RefDate, OACP.F_DueDate, OACP.T_DueDate, OACP.F_TaxDate, OACP.T_TaxDate, NULL, NULL, NULL, NULL, OITW.ItemCode, OITM.ItmsGrpCod, OITW.WhsCode, ''-1'', ''!^|'', ''!^|'', ''!^|'', NULL, NULL, NULL, ''A'', ''N'', NULL, NULL'

    /* 46 accounts selection */ set @sql1 = '' /* 46 accounts condition */ set @sql2 = ''

    /* Loop 46 accounts */ WHILE @@FETCH_STATUS = 0 begin /* build selection */ set @sql1 = @sql1 + ', dbo.TmSp_GLAccountMigration_Replace_Account(OITW.' + @accountLevel + ', ISNULL(OACP.' + @accountCompany + ', ''''))' /* build condition */ set @sql2 = @sql2 + '((OITW.' + @accountLevel + ' != OACP.' + @accountCompany + ' or OACP.' + @accountCompany + ' IS NULL' + ' or OACP.' + @accountCompany + ' = '''') and OITW.' + @accountLevel + ' != '''' and OITW.' + @accountLevel + ' IS NOT NULL)' if (@lastAcct = 'N') begin set @sql2 = @sql2 + ' or ' end FETCH NEXT FROM db_cursor5Z INTO @accountLevel, @accountCompany, @lastAcct end

    /* Build overall query SQL */ set @sql = @sql + @sql1 + ', ''Y'', ''A'', ''!^|'', ''!^|'', ''-1'', NULL, NULL from OITW inner join OITM on OITW.itemcode = OITM.itemcode inner join (select OACP.* from OACP where (select COUNT(*) from OFPR where OACP.PeriodCat = OFPR.Category) >= 1) as OACP on 1 = 1 where OITM.GLMethod = ''L'' and ' + @sql2

    /* Add order by in query SQL */ set @sql = @sql + ' order by PeriodCat'

    /* Execute SQL */ exec(@sql) close db_cursor5Z deallocate db_cursor5Z end

    /* update absentry for temp table #OGAR */

    declare @absEntry int, @ruleCodeIndex int, @periodCatTmp nvarchar(max), @ruleCodeTmp nvarchar(max)

    /* to get the first available absentry from table onnm */

    select @absEntry = AutoKey from ONNM where objectcode = '1470000057' /* value of object GAR is 1470000057 */

    DECLARE db_cursorM CURSOR FOR

    SELECT distinct PeriodCat FROM #OGAR

    OPEN db_cursorM

    FETCH NEXT FROM db_cursorM INTO @periodCatTmp

    WHILE @@FETCH_STATUS = 0

    begin DECLARE db_cursorN CURSOR FOR SELECT RuleCode FROM #OGAR where PeriodCat = @periodCatTmp OPEN db_cursorN FETCH NEXT FROM db_cursorN INTO @ruleCodeTmp set @ruleCodeIndex = 1 WHILE @@FETCH_STATUS = 0 begin UPDATE #OGAR SET AbsEntry = @absEntry, RuleCode = 'R'+CAST(@ruleCodeIndex AS nvarchar(max)) WHERE CURRENT OF db_cursorN set @absEntry = @absEntry + 1 set @ruleCodeIndex = @ruleCodeIndex + 1 FETCH NEXT FROM db_cursorN INTO @ruleCodeTmp end close db_cursorN deallocate db_cursorN FETCH NEXT FROM db_cursorM INTO @periodCatTmp end

    close db_cursorM

    deallocate db_cursorM

    /* Move all the records from #OGAR to OGAR, and delete from #OGAR */

    insert into OGAR select * from #OGAR

    delete from #OGAR

    /* update AutoKey in ONNM table */

    update onnm set AutoKey = @absEntry where objectcode = '1470000057' /* value of object GAR is 1470000057 */

    /* Drop table #OGAR at the end*/

    delete from #OGAR

    drop table #OGAR

    /* In Case V: GLPickMeth should equal to GLMethod in OITM when it is set as ByWHS/ByIG */

    if @countOfByIG > 0 and @countOfByWHS > 0

    begin update OITM set GLPickMeth = GLMethod where GLMethod = 'W' or GLMethod = 'C' update OITM set GLPickMeth = 'A' where GLMethod = 'L' end, sqlState: 42000, nativeErr: 924, errText:[Microsoft][SQL Server Native Client 11.0][SQL Server]Database 'FLNUOMTEST' is already open and can only have one user at a time. # # TID=3212 __DBMC_Statement.cpp 222 Customized=0
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Mar 30, 2016 at 10:02 PM

    I have the same issue, although the SBODEMOGB database upgrades fine. Fails on _FU_P with "TmSp_GLAccountMigration" as the cause. The notes above suggest disabling "Auto Update Statistics Asynchronously" but that was already disabled in my case.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Mar 31, 2016 at 03:22 AM

    I did the upgrade on a different server, worked for me.Followed the instruction received from sap. In my case they suggested to update SQL 2012 to latest service pack.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      I had the same error. I had migrated the SAP databases from SQL 2005 to SQL 2008 R2. I reviewed the SAP Note 2025267. Before I did anything in there I saw that if right click on Database Properties >> Options, the Compatibility Level said SQL Server (90) (which is equivalent to SQL 2005) even though the database had been recently migrated to SQL 2008 R2. Once I changed the Compatibility Level to SQL Server (100) (which is equivalent to SQL 2008) and when I reran the upgrade wizard, it went through with the upgrade without any issues.

  • author's profile photo Former Member
    Former Member
    Posted on Jun 10, 2016 at 09:24 AM

    My impression is that it appears to be an issue where some process is connecting to the database during the upgrade. When I disable SQL reporting services and the SQL server agent it finished without problems. Now retesting that solution.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jul 16, 2016 at 09:04 AM

    FWIW, this seems to be still be a problem on B1 9.2 PL13... Attempting the fix on 2025267 again

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.