Špica - Time&Space - U IZRADI
Špica - Time&Space
Špica - Time&Space
- Instalirati aplikaciju Space&Time sa zadatim komponentama, koje ponudi instalacija,
- Instalirati pripremljenu bazu podataka, koju spomenuta aplikacija upotrebljava (preporučljivo sa imenom TSSPICA),
- Kreirati novi 'Login' sa zadatom bazom podataka TSSPICA (preporučljivo kreiranje preko aplikacije Enterprise Manager->New Login;)
- Pomoću Quary Analyzer se 'zakačimo' na bazu podataka, koju koristi aplikacija Pantheon (npr.: Datalab) i redom pokrenemo postupke pripremljene za prenos podataka, tj. pokrenemo sledeću proceduru u kojoj su spomenuti SQL postupci udruženi :
 |
U kodu koristimo sledeće oznake (varijable), koje je potrebno pri instalaciji promijeniti sa odgovarajućim imenima:
- #SERVER# zameniti sa imenom servera, na kojem radi baza podataka za Time&Space
- #SPICA# zameniti sa imenom baze koju koristi aplikacija Time&Space
|
Prvo obrišemo postojeće trigere
drop trigger dbo.dl_HR_UraHrPoklic2TSUsers
drop trigger dbo.dl_HR_UraOdDel2TSUsers_Delete
drop trigger dbo.dl_HR_UraOdDel2TSUsers_Insert
drop trigger dbo.dl_HR_UraOdDel2TSUsers_Update
drop trigger dbo.dl_HR_UraParam2TSUsers
Prvi trigger po promeni naziva javlja u Pantheonu promenu naziva i u Time&Space.
create trigger [dbo].[dl_HR_UraHrPoklic2TSUsers] on HRPOKLIC
with encryption
for update as
set nocount on
set xact_abort on
if Update(NAZIV)
begin
update #SERVER#.[#SPICA#].[dbo].USERS
set Occupation = (select Naziv from hrPoklic where Poklic = (select Poklic from inserted))
where ID in (select MATICNASTEV from ODDEL where POKLIC = (select POKLIC from deleted))
end
set xact_abort off
Drugi trigger kod brisanja radnika u Pantheonu izbriše radnika i u Time&Space.
create trigger [dbo].[dl_HR_UraOdDel2TSUsers_Delete] on ODDEL
with encryption
for delete as
set nocount on
set xact_abort on
delete #SERVER#.[#SPICA#].[dbo].USERS
from #SERVER#.[#SPICA#].[dbo].USERS, Deleted
where Id = Deleted.MaticnaStev
set xact_abort off
Treći trigger kod unosa novog radnika u Pantheonu unese radnika i u Time&Space.
create trigger [dbo].[dl_HR_UraOdDel2TSUsers_Insert] on ODDEL
with encryption
for insert as
set nocount on
set xact_abort on
-- Host: 1 - Zaposlen 2 - Obiskovalec
insert into #SERVER#.[#SPICA#].[dbo].USERS (HOST, ID)
select 1, (select MATICNASTEV from inserted)
set xact_abort off
Četvrti trigger kod promjene podataka o radniku (prezime, ime, adresa, telefon, datum rođenja, odeljenje, e-mail) u Pantheonu promeni te vrednosti i u Time&Space.
create trigger [dbo].[dl_HR_UraOdDel2TSUsers_Update] on ODDEL
with encryption
for update as
set xact_abort on
set nocount on
if Update(PRIIMEK) or Update(IME) or Update(ULICA) or Update(KRAJ) or Update(DRZAVA)
or Update(TELEFON) or Update(DATUMROJSTVA) or Update(ODDELEK) or Update(EMAIL)
begin
update #SERVER#.[#SPICA#].[dbo].USERS
set LASTNAME = PRIIMEK,
FIRSTNAME = IME,
ADDRESS = ULICA,
CITY = KRAJ,
STATE = DRZAVA,
PHONE = TELEFON,
BIRTH = DATUMROJSTVA,
DEPARTEMENT = ODDELEK,
EMAIL = Inserted.EMAIL
from Inserted
where ID = Inserted.MATICNASTEV
end
if Update(SLIKA)
begin
update #SERVER#.[#SPICA#].[dbo].USERS
set PICTURE = ODDEL.SLIKA
from #SERVER#.[#SPICA#].[dbo].USERS, ODDEL, inserted, deleted
where ODDEL.MATICNASTEV = inserted.MATICNASTEV
and ID = deleted.MATICNASTEV
and ODDEL.DELAVEC = inserted.DELAVEC
and ODDEL.DELAVEC = deleted.DELAVEC
end
if Update(POKLIC)
begin
update #SERVER#.[#SPICA#].[dbo].USERS
set OCCUPATION = HRPOKLIC.NAZIV
from HRPOKLIC, Inserted, Deleted
where HRPOKLIC.POKLIC = Inserted.POKLIC
and ID = Deleted.MATICNASTEV
and Inserted.DELAVEC= Deleted.DELAVEC
end
if Update(MATICNASTEV)
begin
update #SERVER#.[#SPICA#].[dbo].USERS
set ID = Inserted.MATICNASTEV
from Inserted, Deleted
where ID = Deleted.MATICNASTEV
and Inserted.DELAVEC= Deleted.DELAVEC
end
set xact_abort off
Peti trigger kod promene naziva našeg preduzeća u Pantheonu promeni naziv i u Time&Space.
create trigger [dbo].[dl_HR_UraParam2TSUsers] on PARAM
with encryption
for update as
set nocount on
set xact_abort on
if Update(NASEPREDUZEĆE)
begin
update #SERVER#.[#SPICA#].[dbo].USERS
set COMPANY = (select NASEPODJETJE from Inserted)
where COMPANY = (select NASEPODJETJE from Deleted)
end
set xact_abort off
Prvi SQL upit, koji je neaktivan (aktiviramo ga tako što odstranimo prva dva znaka --) izbriše postojeće radnike u Time& Space. UPOZORENJE!!! U slučaju da pokrenete postupak, brišu se svi radnici i te podatke više neće biti moguće obnoviti.
--delete from #SERVER#.[#SPICA#].[dbo].USERS
Drugi SQL upit unese korisnike iz Pantheona u Time&Space. UPOZORENJE!!! Kod svakog pokretanja ovog upita prenesu se svi radnici iz Pantheona u Time&Space, dakle, kod višestrukog pokretanja će radnici biti više puta uneseni.
insert into #SERVER#.[#SPICA#].[dbo].USERS (Lastname, Firstname, Address, City, State, Phone, Fax, ID, Birth,
Occupation, Bdgno, Company,Department, Subdepartment, Host, Picture, EMail, Pin, BdgChangedOn, Other)
select Priimek, Ime, Ulica, Kraj, Drzava, Telefon, '', MaticnaStev, DatumRojstva,
(select NAZIV from HRPOKLIC where POKLIC = D.POKLIC),
null,
(select NASEPODJETJE from PARAM),
ODDELEK, '', 1, SLIKA, EMail, '', '', null
from ODDEL D
Nakon izvedenih procedura, sledi prvo pokretanje aplikacije Time &Space pri čemu je potrebno uneti prethodno kreirano korisničko ime (login): TSSPICA i pripadajuću lozinku;