- Instaloni aplikacionin Hapsira&Koha me komponentët e paracaktuara që ofron programi i instalimit,
- Instaloni bazën e të dhënave të përgatitur paraprakisht, e cila përdoret nga aplikacioni i përmendur (e rekomanduar me emrin TSSPICA),
- Krijoni 'Login' të ri me bazën e të dhënave të paracaktuar TSSPICA (e rekomanduar krijimi i saj vetëm përmes aplikacionit Enterprise Manager->New
Login;)
- Me ndihmën e Quary Analyzer ne 'lidhemi' me bazën e të dhënave që përdor aplikacioni Pantheon (p.sh.: Datalab) dhe me radhë fillojmë procedurat e përgatitura për transferimin e të dhënave ose fillojmë procedurën e mëposhtme në të cilën janë të bashkuara procedurat SQL të përmendura:
 |
Në kod përdorim etiketat (variablat) e mëposhtme, të cilat duhet të zëvendësohen me emrat përkatës gjatë instalimit:
- #STREZNIK# zëvendësohet me emrin e serverit, në të cilin funksionon baza e të dhënave
për Koha&Hapsira
- #tsspica# zëvendësohet me emrin e bazës që përdor aplikacioni Koha&Hapsira
|
Së pari fshijmë ndonjë trigger ekzistues (shtytës)
drop trigger dbo.pHR_Occup2TSUsers
drop trigger dbo.pHR_Prsn2TSUsers_Delete
drop trigger dbo.pHR_Prsn2TSUsers_Insert
drop trigger dbo.pHR_Prsn2TSUsers_Update
drop trigger dbo.pHR_Param2TSUsers
Triggeri i parë, kur ndryshohet emri i profesionit në Pantheon, ndryshon emrin
edhe në Koha&Hapsira.
create trigger [dbo].[pHR_Occup2TSUsers] on tHR_SetOccup
for update as
set nocount on
set xact_abort on
if Update(acName)
begin
update #STREZNIK#.[#tsspica#].[dbo].USERS
set Occupation = (select acName from vHR_SetOccup where acOccup = (select acOccup from inserted))
where ID in (select acRegNo collate SQL_Slovenian_CP1250_CI_AS from vHR_Prsn where acOccup = (select acOccup from deleted))
end
set xact_abort off
Triggeri i dytë, kur fshihet punonjësi në Pantheon, fshin punonjësin edhe në
Koha&Hapsira.
create trigger [dbo].[pHR_Prsn2TSUsers_Delete] on tHR_Prsn
for delete as
set nocount on
set xact_abort on
delete #STREZNIK#.[#tsspica#].[dbo].USERS
from #STREZNIK#.[#tsspica#].[dbo].USERS, Deleted
where Id = Deleted.acRegNo collate SQL_Slovenian_CP1250_CI_AS
set xact_abort off
Triggeri i tretë, kur shtohet një punonjës i ri në Pantheon, e shton punonjësin edhe në Koha&Hapsira.
create trigger [dbo].[pHR_Prsn2TSUsers_Insert] on tHR_Prsn
for insert as
set nocount on
set xact_abort on
-- Host: 1 - Punonjës 2 - Vizitor
insert into #STREZNIK#.[#tsspica#].[dbo].USERS (HOST, ID)
select 1, (select acRegNo collate SQL_Slovenian_CP1250_CI_AS from inserted)
set xact_abort off
Triggeri i katërt, kur ndryshojnë të dhënat për punonjësin (mbiemri, emri, adresa,
telefon, data e lindjes, departamenti, e-mail) në Pantheon, ndryshon këto vlera
edhe në Koha&Hapsira.
create trigger [dbo].[pHR_Prsn2TSUsers_Update] on tHR_Prsn
for update as
set xact_abort on
set nocount on
if Update(acSurname) or Update(acName) or Update(acStreet) or Update(acCity) or Update(acCountry)
or Update(acPhone) or Update(adDateBirth) or Update(acDept) or Update(acEmail)
begin
update #STREZNIK#.[#tsspica#].[dbo].USERS
set LASTNAME = RTrim(acSurname),
FIRSTNAME = RTrim(acName),
ADDRESS = acStreet,
CITY = acCity,
STATE = acCountry,
PHONE = acPhone,
BIRTH = adDateBirth,
EMAIL = Inserted.acEmail
from Inserted
where ID = Inserted.acRegNo collate SQL_Slovenian_CP1250_CI_AS
end
if Update(acPicture)
begin
update #STREZNIK#.[#tsspica#].[dbo].USERS
set PICTURE = vHR_Prsn.acPicture
from #STREZNIK#.[#tsspica#].[dbo].USERS, vHR_Prsn, inserted, deleted
where vHR_Prsn.acRegNo = inserted.acRegNo
and ID = deleted.acRegNo collate SQL_Slovenian_CP1250_CI_AS
and vHR_Prsn.acWorker = inserted.acWorker
and vHR_Prsn.acWorker = deleted.acWorker
end
if Update(acOccup)
begin
update #STREZNIK#.[#tsspica#].[dbo].USERS
set OCCUPATION = vHR_SetOccup.acName
from vHR_SetOccup, Inserted, Deleted
where vHR_SetOccup.acOccup = Inserted.acOccup
and ID = Deleted.acRegNo collate SQL_Slovenian_CP1250_CI_AS
and Inserted.acWorker = Deleted.acWorker
end
if Update(acRegNo)
begin
update #STREZNIK#.[#tsspica#].[dbo].USERS
set ID = Inserted.acRegNo
from Inserted, Deleted
where ID = Deleted.acRegNo collate SQL_Slovenian_CP1250_CI_AS
and Inserted.acWorker = Deleted.acWorker
end
set xact_abort off
Triggeri i pestë, kur ndryshohet emri i kompanisë sonë në Pantheon, ndryshon emrin
edhe në Koha&Hapsira.
create trigger [dbo].[pHR_Param2TSUsers] on tPA_SysParam
for update as
set nocount on
set xact_abort on
if Update(acOurCompany)
begin
update #STREZNIK#.[#tsspica#].[dbo].USERS
set COMPANY = (select acOurCompany from Inserted)
where COMPANY = (select acOurCompany from Deleted) collate SQL_Slovenian_CP1250_CI_AS
end
set xact_abort off
Triggeri i gjashtë, kur ndryshohet departamenti i punonjësit në Pantheon, ndryshon departamentin
edhe në Koha&Hapsira.
create trigger [dbo].[pHR_Prsnjob2TSUsers_UpdIns] on
tHR_Prsnjob
for update, insert as
set xact_abort on
set nocount on
if Update(acDept) or Update(acActive)
begin
update #STREZNIK#.[tsspica].[dbo].USERS
set DEPARTMENT = I.acDept
from Inserted I
join vHR_Prsn D on D.acWorker = I.acWorker
where I.acActive = 'T'
and ID = D.acRegNo collate
SQL_Slovenian_CP1250_CI_AS
end
SQL i parë, që është dokumentuar/jo aktiv (aktivizohet, nëse hiqen dy karakteret e para --) fshin punonjësit ekzistues në Koha& Hapsira. KËSHILLË!!! Në rast se e ekzekutoni këtë frazë, do të fshihen të gjithë punonjësit dhe këto të dhëna nuk do të mund të rikuperohen.
--delete from #STREZNIK#.[#tsspica#].[dbo].USERS
SQL i dytë fut përdoruesit nga Pantheoni në Koha&Hapsira. KËSHILLË!!! Në çdo ekzekutim të këtij frazë, të gjithë punonjësit nga Pantheoni do të transferohen në Koha&Hapsira, prandaj nëse ekzekutohet disa herë, punonjësit do të futen disa herë.
insert into #STREZNIK#.[#tsspica#].[dbo].USERS (Lastname, Firstname, Address, City, State, Phone, Fax, ID, Birth,
Occupation, Bdgno, Company, Department, Subdepartment, Host, Picture, EMail, Pin, BdgChangedOn, Other)
select RTrim(cast(acSurname as VarChar(40))) as LastName,
RTrim(cast(acName as VarChar(25))) as FirstName,
cast(acStreet as VarChar(50)) as Address,
cast(acCity as VarChar(50)) as City,
cast(acCountry as VarChar(50)) as State,
cast(acPhone as VarChar(15)) as Phone,
cast('' as VarChar(15)) as Fax,
cast(acRegNo as VarChar(13)) as ID,
adDateBirth as Birth,
cast((select acName from vHR_SetOccup where acOccup = D.acOccup) as VarChar(50)) as Occupation,
null as Bdgno,
cast((select acOurCompany from tPA_SysParam) as VarChar(50)) as Company,
cast(acDept as VarChar(50)) as Department,
cast('' as VarChar(50)) as SubDepartment,
cast(1 as SmallInt) as Host,
acPicture as Picture,
cast(acEmail as VarChar(30)) as EMail,
cast('' as VarChar(6)) as Pin,
null as BdgChangedOn,
null as Other
from vHR_Prsn D
Pas përfundimit të procedurave, ndjek ekzekutimi i parë i aplikacionit Koha &Hapsira, ku është e nevojshme të futet emri i përdoruesit të krijuar më parë (login): TSSPICA dhe fjalëkalimi përkatës;