AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Destek › Processes › PROC-85

ERP VERİ TABANI DEVİR

SUPPORT_PROCESSMOD-CARIERPGOLD_COREACTIVEHIGHDOCUMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Kaynak: KB-v1 08_SupportPlaybooks/Processes/PROC-85.mdSurecler/*.doc (destek süreç dokümanı; parola/IP/terminal maskelenmiş). Gerçeklik: DOCUMENTED — kodla doğrulanmış değil.

ERP VERİ TABANI DEVİR

Kimlik: PROC-85 · Ürün: ERPGOLDV2 · Kategori: Devir ve yıl sonu · Katalog: ERP Devir Süreci_v1

Kaynak: AifaSoft destek süreç dokümanı (Word). Şifre, kullanıcı adı, terminal no ve IP bilgileri kaynak aşamasında maskelenmiştir; görseller resimli süreç kitabındadır.

ERP DEVİR SÜRECİ

  1. Mevcut ERPGOLD programı açılarak sol üst köşedeki ikinci buton olan Sistem Bilgisi butonuna basılarak versiyon bilgisi / SQL Server ve Database isimleri kontrol edilir.

(görsel — süreç kitabında)

(görsel — süreç kitabında)

  1. Eğer Mevcut Program Eski Versiyon ise Güncelleme İşlemi Yapılır. (ERPUpdateSüreciV.1)

  2. Mevcut Programda Raporsuz ve Raporlu Bekleyen Takoz Olmadığı Kontrol Edilir.

  3. Kontrol etmek için stok listesini görüntüleyin.

(görsel — süreç kitabında)

  • Stok listesinde stok durumundan “Elimizde” seçeneği seçilerek listelenen bir bilgi olup olmadığını kontrol edilir. Bu alanda bilgi var ise müşteriye bu işlemlerin temizleneceğine dair bilgiyi ileterek yazılı onay alınır.

(görsel — süreç kitabında)

  1. Eğer müşteri Altın Bankacılığı ve Operasyonlar Modülü’nü kullanıyor ise tüm operasyonların ve bu operasyonlara ait işlemlerin de temizleneceği bilgisi müşteriye iletilerek yazılı onay alınır.

  2. Müşterinin resmi stoklarının listesi devirden sonra manuel girmek için alınır.

  3. Mevcut veri tabanın yedeği alınmadan önce Cari.Islemler tablosu Cari.Islemler_ olarak değiştirilerek kullanıcıların yedek alınma esnasında işlem yapması engellenir.

  4. Mevcut veri tabanının yedeği alınıp yedek diskine kopyalanır. (ERPBackupSüreciV.1)

  5. Mevcut yedek yeni isimle yüklenerek kontrol edilir. (ERPBackupKontrolSüreciV.1)

  6. Orijinal veri tabanında Cari.Islemler_ tablosunun ismi Cari.Islemler olarak değiştirilir.

  7. Yedek veri tabanı SQL Server’da ERPGOLDV2[arşiv yılı] adıyla restore edilir.

  8. Yeni veri tabanı ERPPRO programına bağlanır. (ERPConfigurationSüreciV.1)

  9. Yeni veri tabanı bağlanan ERPPRO programı çalıştırılır. Admin kullanıcısından giriş yapılarak ana menüdeyken Shift + D tuşuna basılarak Sistem > Tanımlamalar > Devir yolundaki devir butonu aktif hale getirilir.

  10. Devir butonuna basılarak mevcut ADMIN şifresi ile devir işlemi gerçekleştirilir.

  11. Müşterinin resmi stokları manuel olarak girilir.

  12. Listedeki alanlar kontrol edilir.

  13. Bilanço Raporu

  14. Maden Stokları(GR/R)

  15. Nakit Stokları(GR/R)

  16. Pozisyon

  17. Bakiye Listesi

  18. Stoklarda ya da bakiyelerde olası bir tutarsızlık olursa Stok.StokHaraketleri tablosu veya Cari.BakiyeIslem tablosunda Tarih alanı Null olan kayıtlar vardır. Manuel olarak giriş çıkış yapılarak tutarsızlık düzeltilir.

  19. Arşiv veri tabanı içerisinde işlem yapılmasını engellemek için aşağıdaki kod bloğu çalıştırılır.

ALTER Trigger [Cari].[AcceptTransaction] ON [Cari].[Islemler] AFTER INSERT,UPDATE,DELETE

AS

BEGIN

RAISERROR('BU VERI TABANI ISLEME KAPATILMISTIR. ',16,1)

ROLLBACK

END

  1. İşlem yapıldıktan sonra fiş verirken eski bakiye yazmıyor ise aşağıdaki kod bloğu çalıştırılır.

ALTER Function [Bakiye].[GetBakiyeFisNo] (@HesapType int,@HesapId int,@FisNo int)

RETURNS TABLE

as

return

Select top 10000 Kod.Kodu as BAKIYE, Case When Bakiye \< 0 Then Abs(Bakiye) else null end as ALACAK, Case When Bakiye> 0 Then Bakiye else null end as BORC,IsNull((Bakiye *-1) * KurA.Alis ,0) as NET

From Cari.BakiyeKodlari Kod

Left Join

(

Select B.BirimId as BakiyeId,Sum(Bakiye) as Bakiye

from Cari.BakiyeIslem B

Left Join Cari.Islemler I on B.IslemId=I.Id

Where (B.HesapType =@HesapType And B.HesapId =@HesapId) And (I.FisNo\<=@FisNo or B.IslemId =-1)

Group By B.BirimId

) Bak on Bak.BakiyeId =Kod.Id

Left Join Sistem.GetKurListesi (GETDATE()) KurA on KurA.BirimId =Kod.Id

Where (Kod.IsStatic='False' And Bakiye\<>0) or Kod.IsStatic='True' order by Kod.IsStatic desc, Kod.SiraNo asc

  1. ERPGLOBAL adında veri tabanı oluşturularak Company tablosu oluşturulur.

  2. Company ve DBName adlarındaki sütunlar nvarchar(50) veri tipiyle oluşturulur.

  3. Company tablosuna veri tabanlarının adları eklenerek müşteriye kolay giriş imkanı sunulur.

MANUEL DEVİR SÜRECİ

  1. Mevcut veri tabanın yedeği alınmadan önce Cari.Islemler tablosu Cari.Islemler_ olarak değiştirilerek kullanıcıların yedek alınma esnasında işlem yapması engellenir.

  2. Mevcut veri tabanının yedeği alınıp yedek diskine kopyalanır. (ERPBackupSüreciV.1)

  3. Mevcut yedek yeni isimle yüklenerek kontrol edilir. (ERPBackupKontrolSüreciV.1)

  4. Orijinal database seçiliyken aşağıdaki kod bloğu çalıştırılır.

if OBJECT_ID(N'tempdb..#ErpBalance') is null

BEGIN

Create Table #ErpBalance(IslemID int,Tarih Date,HesapType int,HesapId int,KasaId int,BirimId int,Bakiye decimal(18,2))

END

ELSE

BEGIN

TRUNCATE TABLE #ErpBalance

END

if OBJECT_ID(N'tempdb..#ERPStok') is null

BEGIN

Create Table #ERPStok(IslemID int,Bolum int,IslemTuru int,Tarih Date,SubeId int,KasaId int,StokTipi int,StokId int,Adet int,Miktar Decimal(18,5),Milyem Decimal(18,5),Has Decimal(18,5),Maliyet Decimal(18,2),VaryantId int)

END

ELSE

BEGIN

TRUNCATE TABLE #ERPStok

END

INSERT INTO #ErpBalance

Select -1 as IslemId,GETDATE() as Date,0 as HesapType,HesapId ,KasaId ,BirimId ,Sum(Bakiye) as Bakiye

from Cari.BakiyeIslem

group by HesapId ,KasaId ,BirimId

having SUM(Bakiye )\<>0

INSERT INTO #ERPStok

Select -1 as IslemId,0 as Bolum,IslemTuru,Getdate() as Tarih,SubeId,KasaId,StokTipi,StokId,Sum(Adet),Sum(Miktar),Sum(Milyem),Sum(Has),Sum(Maliyet),VaryantId

From Stok.StokHaraketleri

Where StokTipi in (1,2)

Group by IslemTuru ,SubeId,KasaId,StokTipi,StokId,VaryantId

Truncate Table Cari.Islemler_

Truncate Table Cari.BakiyeIslem

Truncate Table Cari.History

Truncate Table Stok.StokHaraketleri

Truncate Table Cari.IslemDetaylari

INSERT INTO [Cari].[BakiyeIslem]([IslemId],[Tarih],[HesapType],[HesapId],[KasaId],[BirimId],[Bakiye])

Select * from #ErpBalance

INSERT INTO [Stok].[StokHaraketleri]([IslemId],[Bolum],[IslemTuru],[Tarih],[SubeId],[KasaId],[StokTipi],[StokId],[Adet],[Miktar],[Milyem],[Has],[Maliyet],[VaryantId])

Select * from #ERPStok
  1. İki veri tabanının da kayıt sayıları kontrol edilir.

  2. Orijinal veri tabanında Cari.Islemler_ tablosunun ismi Cari.Islemler olarak değiştirilir.

  3. Arşiv veri tabanı içerisinde işlem yapılmasını engellemek için aşağıdaki kod bloğu çalıştırılır.

ALTER Trigger [Cari].[AcceptTransaction] ON [Cari].[Islemler] AFTER INSERT,UPDATE,DELETE

AS

BEGIN

RAISERROR('BU VERI TABANI ISLEME KAPATILMISTIR. ',16,1)

ROLLBACK

END

  1. ERPGLOBAL adında veri tabanı oluşturularak Company tablosu oluşturulur.

  2. Company ve DBName adlarındaki sütunlar nvarchar(50) veri tipiyle oluşturulur.

  3. Company tablosuna arşiv veri tabanının adı eklenerek müşteriye kolay giriş imkanı sunulur.

Kaynaklar

  • SRC-PROC-DOC — süreç dokümanı #85