Forum

Dobrodošli na forum PANTHEON uporabniških strani.
Stojan Povh
#1 Objavljeno : 02 April 2018 20:09:08(UTC)
Stojan Povh

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 78

Preračun prometov že skoraj 15 let izvajamo z SQL Job-om vsak dan v nočnem času na podlagi DataLab navodil,
ki so še vedno objavljena na UserSite.

Večkrat sem se že spraševal, ali DataLab ves ta čas z vso odgovornostjo 'stoji' za to objavljeno programsko kodo.
PRAVILNOST TE KODE NAMREČ VPLIVA NA ZELO POMEMBNO ZADEVO: PRIKAZ KOLIČINE IN VREDNSOTI ZALOG !

Kakorkoli že, do sedaj nisem opazil, da bi bilo s to kodo kaj narobe, razen pred menda dvemi leti,
ko je bilo potrebno kodo zaradi izpada delovanja Job-a spremeniti na popravek, ki je še danes objavljen na:
https://usersite.datalab...Default.aspx?htmlid=2548

Job, ki se je do zadnje nadgradnje izvajal brez napak, vsebuje:
--PRERAČUN PROMETOV
--Preračunaj serijske številke
exec pPA_SerialNoItemRecalc '', null, null
exec pPA_SerialNoStatusRecalc
--Preračun cen
if object_id('tempdb..#lHE_InventoryIdent') is null
CREATE TABLE [dbo].[#lHE_InventoryIdent]
([acIdent] char(16) COLLATE DATABASE_DEFAULT NOT NULL DEFAULT (''),
[adDate] datetime NOT NULL DEFAULT (dateadd(day,datediff(day,(0),getdate()),(0))),
[acWarehouse] char(30) COLLATE DATABASE_DEFAULT NOT NULL DEFAULT (''),
PRIMARY KEY CLUSTERED (acIdent, adDate,acWarehouse))
else
TRUNCATE TABLE [#lHE_InventoryIdent]exec pPA_PriceCalc '', null, null, ''
exec pPA_PriceCalcOwnPrice '', null, null, ''
exec pPA_MoveAssmblyRecalc ''
--Obnovitev zaloge
exec pPA_StockRecalc
--Preračun glav dokumentov
exec pPA_CashRegRecalc null, null
exec pPA_GLRecalc null, null
exec pPA_OrderHeadRecalc null, null
exec pPA_OrderDispDocRecalc '', null, null
exec pPA_MoveHeadRecalc null, null, 'F'

Vendar pa po nadgradnji na različico 10.00, ki sem jo implementiral 31. 03. 2018,
zopet prihaja do izpada delovanja Job-a, kakšnega novega popravka na UserSite pa ne najdem.

Job javlja napake pri
--Preračun cen,
--Obnovitev zaloge,
pri obeh: Invalid column name 'acKeyS', Invalid column name 'acKeyE'

DATALAB PROSIM ZA ČIMPREJŠNJI ODGOVOR NA VPRAŠANJI:
1. Ali DataLab ves ta čas z vso odgovornostjo 'stoji' za to objavljeno programsko kodo ?
2. Kako odpraviti napake, ki jih povzroča objavljena koda po nadgradnji na različico 10.00 ?

P.S.:
BTW,
kljub temu, da DataLab predvideva (priporoča) izvajanje tega SQL Job-a, ga pri kontroli
konektor licenc šteje kot nedovoljeno 'zunanjo povezavo na bazo'. WTF? :)

Lep pozdrav
Stojan Povh Dipl. Ing. El.
Svetovalec Direktorja & CIO
Skupina Valji Group
dejan
#2 Objavljeno : 03 April 2018 06:37:19(UTC)
dejan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 576
Man

Prejete zahvale: 9 krat v 9 objavah
Naloži hitri popravek in do delalo.
Vobo d.o.o.
Na gorci 66
2000 Maribor
www.vobo.si
sebastijan
#3 Objavljeno : 03 April 2018 08:07:52(UTC)
sebastijan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 332
Man

Delovalo bo tudi če se doda v temp tabelo še:
'acKeyS' in 'acKeyE'

Seveda deluje tudi po namestitvi hitrega popravka...

Uredil uporabnik 03 April 2018 08:09:03(UTC)  | Razlog: Ni naveden

Stojan Povh
#4 Objavljeno : 03 April 2018 09:08:43(UTC)
Stojan Povh

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 78

Naložil sem hitri popravek, a Job še vedno javlja enake napake.
dejan
#5 Objavljeno : 03 April 2018 11:22:27(UTC)
dejan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 576
Man

Prejete zahvale: 9 krat v 9 objavah
Meni s popravkom 860 in 861 deluje. Sem pa opazil, da so dodali še popravek 876.

Uredil uporabnik 03 April 2018 11:26:46(UTC)  | Razlog: Ni naveden

Vobo d.o.o.
Na gorci 66
2000 Maribor
www.vobo.si
sebastijan
#6 Objavljeno : 03 April 2018 11:51:45(UTC)
sebastijan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 332
Man

Originally Posted by: Stojan Povh Go to Quoted Post
Naložil sem hitri popravek, a Job še vedno javlja enake napake.


Meni gre po nadgradnji job skozi brez problema. Prej pa tri dni z napako.
Stojan Povh
#7 Objavljeno : 03 April 2018 12:32:03(UTC)
Stojan Povh

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 78

Gospod Simon Klemen mi je že dopoldan poslal mail, v katerem je vidna potreba po spremembi dela kode za SQL Job.
Po nekaj poizkusih v SSMS se je ta sprememba izkazala za uspešno.
Ta del kode, ki sicer še ni popravljen na naslovu
https://usersite.datalab...Default.aspx?htmlid=2548
se pravilno glasi:
if object_id('tempdb..#lHE_InventoryIdent') is null
CREATE TABLE [dbo].[#lHE_InventoryIdent]
(
[acIdent] char(16) NOT NULL DEFAULT (''),
[adDate] datetime NOT NULL DEFAULT (dateadd(day,datediff(day,(0),getdate()),(0))),
[acWarehouse] char(30) NOT NULL DEFAULT (''),
[acKeyS] char(13) NULL,
[acKeyE] char(13) NULL
PRIMARY KEY CLUSTERED (acIdent, adDate,acWarehouse)
)
else
TRUNCATE TABLE [#lHE_InventoryIdent]

Če se nočni SQL Job-i na bazah ne bodo izvedli brez napak, se ponovno oglasim.
dlAdmin
#8 Objavljeno : 03 April 2018 12:34:30(UTC)
dlAdmin

Stopnja: Advanced Member

Pridružen(a): 03/10/2013(UTC)
Objave: 95

S hitrim popravkom 876 (v verziji 1001010 je številka popravka 877) je bilo dodano, da stranki v svojihh morebitnih sql jobih ni treba več ustvarjati začasne tabele #lHE_InventoryIdent, tako da ta del kode pri sebi prosim zbrišite.
sebastijan
#9 Objavljeno : 03 April 2018 21:12:13(UTC)
sebastijan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 332
Man

Originally Posted by: dlAdmin Go to Quoted Post
S hitrim popravkom 876 (v verziji 1001010 je številka popravka 877) je bilo dodano, da stranki v svojihh morebitnih sql jobih ni treba več ustvarjati začasne tabele #lHE_InventoryIdent, tako da ta del kode pri sebi prosim zbrišite.


Super hvala

Skoda, da se tega ni nihče spomnil že pred leti, ko sem se ubijal s tem preračunom...:)

Tudi v aresu nekaj preračunavam in moram uporabiti to temp tabelo. A je še potrebno?
lpS

markothq
#10 Objavljeno : 03 April 2018 21:28:58(UTC)
markothq

Stopnja: Advanced Member

Pridružen(a): 04/12/2015(UTC)
Objave: 42

drugače pa priporočam de se uporabi sledeč način, ko se sklicujete na DL temp tabele, s tem načinov se izognete težavam ob spremembi temp tbel.

declare @v_cSql nvarchar(max)
set @v_cSql = (select script from dbo.fpa_temp_tables_create_text('lHE_InventoryIdent', 0))

set @v_cSql = @v_cSql + '
exec dbo.pPA_PriceCalcOwnPrice '''', null, null, ''''
exec dbo.pPA_MoveAssmblyRecalc ''''
exec dbo.pPA_StockRecalc
exec dbo.pPA_CashRegRecalc null, null
exec dbo.pPA_GLRecalc null, null
exec dbo.pPA_OrderHeadRecalc null, null
exec dbo.pPA_OrderDispDocRecalc '''', null, null
exec dbo.pPA_MoveHeadRecalc null, null, ''F'' '

execute sp_executesql @v_cSql


lp, m
Stojan Povh
#11 Objavljeno : 04 April 2018 08:37:00(UTC)
Stojan Povh

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 78

Odgovor <markothq> razumem kot pozitiven odgovor na moje vprašanje v prvem sporočilu v tej temi:
» 1. Ali DataLab ves ta čas z vso odgovornostjo 'stoji' za to objavljeno programsko kodo ? «

Sklicevanje na vgrajeno funkcijo:

SELECT script FROM dbo.fpa_temp_tables_create_text('lHE_InventoryIdent', 0)

namreč vrne:
CREATE TABLE [dbo].[#lHE_InventoryIdent]
(
[acIdent] char(16) COLLATE DATABASE_DEFAULT NOT NULL DEFAULT ('')
, [adDate] datetime NOT NULL DEFAULT (dateadd(day,datediff(day,(0),getdate()),(0)))
, [acWarehouse] char(30) COLLATE DATABASE_DEFAULT NOT NULL DEFAULT ('')
, [acKeyS] char(13) COLLATE DATABASE_DEFAULT NULL
, [acKeyE] char(13) COLLATE DATABASE_DEFAULT NULL
, PRIMARY KEY CLUSTERED (acIdent, adDate, acWarehouse)
)
WITH(
DATA_COMPRESSION = NONE
);

Torej je kreiranje temp tabele priporočeno.

A <dlAdmin> v tej temi pred tem sporoča, da kreiranje temp tabele ni potrebno ter,
da naj ta del kode zbrišemo.

Hm ...
markothq
#12 Objavljeno : 04 April 2018 08:45:20(UTC)
markothq

Stopnja: Advanced Member

Pridružen(a): 04/12/2015(UTC)
Objave: 42

Jaz sem dal samo primer, v primeru, da uporabljate DL temp tabele, je pa sedaj kreiranje temp tabele vključeno v sami proceduri, tako da vam pri preračunu ni več potrebno skrbet za to.

lp, m
Stojan Povh
#13 Objavljeno : 04 April 2018 08:55:02(UTC)
Stojan Povh

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 78

Aha, razumem.
Hvala za vse odgovore.

Lep pozdrav ...
dejan
#14 Objavljeno : 05 April 2018 14:02:13(UTC)
dejan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 576
Man

Prejete zahvale: 9 krat v 9 objavah
Originally Posted by: dlAdmin Go to Quoted Post
S hitrim popravkom 876 (v verziji 1001010 je številka popravka 877) je bilo dodano, da stranki v svojihh morebitnih sql jobih ni treba več ustvarjati začasne tabele #lHE_InventoryIdent, tako da ta del kode pri sebi prosim zbrišite.



Pa je to pri vas kdo probal ? Meni javi na 1001010

Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyS'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyS'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyE'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyE'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyS'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyS'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyE'.
Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyE'........
Vobo d.o.o.
Na gorci 66
2000 Maribor
www.vobo.si
dlAdmin
#15 Objavljeno : 05 April 2018 14:44:04(UTC)
dlAdmin

Stopnja: Advanced Member

Pridružen(a): 03/10/2013(UTC)
Objave: 95

Glede napake Msg 207, Level 16, State 1, Procedure pPA_PriceCalc, Line 576
Invalid column name 'acKeyS'.
Je bil job zagnan v novi seji, kjer temp tabela še ne obstaja? (reštart sql managmenta ali odprtje novega zavihka)?

Zunaj je še dodatni hitri popravek, saj v nekaterih primerih še vedno zahteva začasno tabelo, če se v jobu med drugim kliče tudi procedura pPA_PriceCalcOwnPrice.
dejan
#16 Objavljeno : 06 April 2018 09:15:10(UTC)
dejan

Stopnja: PA User

Pridružen(a): 24/04/2009(UTC)
Objave: 576
Man

Prejete zahvale: 9 krat v 9 objavah
Pobrisat je bilo potrebno temp tabelo. Sedaj deluje
Vobo d.o.o.
Na gorci 66
2000 Maribor
www.vobo.si
RSS vir  Atom Feed
Uporabniki v tej temi
Hitra navigacija  
Ne smete dodajati novih tem.
Ne smete odgovarjati na teme.
Ne smete brisati svojih objav.
Ne smete urejati svojih objav.
Ne smete ustvarjati anket.
Ne smete glasovati v anketah.

Orange-Grey Theme Created by Ingo Herbote (WatchersNET.de)
Poganja {0}, verzija {1} YAF 1.9.6.1 Under DNN | YAF © 2003-2025, Yet Another Forum.NET
Ta stran se je naložila v 0,578 sekunde.