Tip: STORED PROCEDURE · Şema: Sistem · Modül: MOD-SISTEM · Temizlik sınıfı: MANUAL_REVIEW (kategori D, güven 80) · Kapsam: ERPGOLD_CORE / ALL
Kullanım haritası (13.09.2026)
| Kategori | F — MANUAL REVIEW · F-DYNAMIC_SQL |
| Güven | 20 |
| Gerekçe | Adı dinamik SQL kullanan modül(ler)de geçiyor: dbo.sp_DevirIslemiYap, Sistem.FromERP |
| Dinamik SQL eşleşmesi | dbo.sp_DevirIslemiYap, Sistem.FromERP |
Bkz. Database Usage Map · Manual Review. Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.
Temizlik kanıtı
| Kontrol | Sonuç |
|---|---|
| app | WEAK |
| report | NO |
| config | NO |
| dynamic | NO |
| db_in | NO |
| db_out | YES |
| trigger | NO |
| fk | NO |
| computed | NO |
| crossdb | NO |
| runtime | UNKNOWN |
| external | NO |
Gerekçe: Kaynak kodda yalnızca zayıf ad eşleşmesi var (sınıf/özellik adı olabilir); ikinci turda incelendi
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: PROCEDURE (P) · Modül: MOD-SISTEM · Uzunluk: 189 satır
Özet
[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.
Parametreler
| # | Parametre | Tip | Çıktı |
|---|---|---|---|
| 1 | @SubeId | int |
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| WRITES | Cari.Hesaplar | TABLE |
| WRITES | Cari.Islemler | TABLE |
| CALLS | FN.GetKur | FUNCTION |
| READS | Sistem.Aktarim | TABLE |
| CALLS | Sistem.GetBirimToId | FUNCTION |
| READS | Sistem.Kasalar | TABLE |
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Proc Sistem.[Aktar](@SubeId int)
--- Kullanım Şekli Sistem.Aktar @SubeId /// Sistem.Aktar 4
as
Declare @KasaId int =IsNull((Select Id From Sistem.Kasalar Where SubeId =@SubeId and IsDeleted ='False'),0)
Declare @Date datetime= getdate()
if @KasaId =0
BEGIN
Print 'Kasa Bulunamadı. Şube Tanımlı Değil Yada Şubeye Ait Kasa Yok!!!.'
return
END
if OBJECT_ID ('Sistem.Aktarim') is null
BEGIN
CREATE TABLE [Sistem].[Aktarim](
[FirmaId] [int] NULL,
[GrupKodu] [nvarchar](max) NULL,
[Unvan] [nvarchar](max) NULL,
[HAS] [decimal](18, 2) NULL,
[GUM] [decimal](18, 2) NULL,
[USD] [decimal](18, 2) NULL,
[EUR] [decimal](18, 2) NULL,
[TL] [decimal](18, 2) NULL,
[CHF] [decimal](18, 2) NULL,
[GBP] [decimal](18, 2) NULL
) ON [PRIMARY]
print 'Aktarım Tablosu Olusturuldu. Lütfen Bilgileri İçine Aktarınız....'
return
END
ELSE
BEGIN
Insert Into Cari.Hesaplar
Select
0 as KarsiHesapId,
0 as MuhHesapId,
FirmaId as OldFirmaId,
1 as KartId,
@SubeId as SubeId,
Unvan as HesapAdi,
GrupKodu,
'AKTARIM' as Kategori,
'' as VergiDairesi,
'' as VergiNo,
'' as TCNo,
'' as PassaportNo,
0 as HukukiKod,
0 as SanalHesap,
0 as Kaldirac,
31.1035 as OnsCarpan,
0 as MarginLevel,
0 as MarginCall,
0 as MarginStop,
0 as Limit,
0 as LimitBirimId,
0 as AutoStop,
0 as TakozHasIsc,
1 as TakozHasIscBirimId,
0 as TakozGumIsc,
5 as TakozGumIscBirimId,
'' as Yetkili,
'' as Adres,
'' as Ulke,
'' as Il,
'' as Ilce,
'' as Semt,
'' as Telefon1,
'' as Telefon2,
'' as Fax,
'' as Gsm,
'' as Email,
'' as Web,
1 as IsActive,
'' as PasifDescription,
getdate() as LastDate,
1 as UserId,
@Date as InsertDate,
0 as IsDeleted,
REPLACE(UPPER(NEWID()),'-','') AS RefNo,
0 AS Rating,
0 AS FixingDiscount,
0 AS FixingBirimId,
0 AS HesapTuru,
'' AS TicariUnvan,
'' AS Temsilci1,
'' AS Temsilci2
from Sistem.Aktarim where FirmaId not in (Select OldFirmaId From Cari.Hesaplar)
Insert Into Cari.Islemler
Select
0 as ProjeId,
0 as HesapType,
null as OwnerRefNo,
REPLACE(UPPER(NEWID()),'-','') as REFNO,
@SubeId as SubeId,
@KasaId As KasaId,
HesapId,
0 as FisNo,
Convert(date,getdate()) as Tarih,
999 as IslemKodu,
Case When Bakiye >0 then 1 Else 0 End as IslemTuru,
0 as IslemTipi,
Convert(date,getdate()) as Vade ,
0 as StokId ,
0 as AyarEviId,
'' as RaporNo,
0 as IsRapor,
0 as IsExtra,
'DEVIR' as Kodu,
0 as BakiyeId,
0 as Adet,
0 as Miktar,
0 as CesniMiktar,
0 as AuMilyem,
0as AgMilyem,
0 as PldMilyem,
0 as PltMilyem,
0 as HasIsc,
0 as HasIscBirimId,
0 as HasIscBirimKur,
0 as GumIsc,
0 as GumIscBirimId,
0 as GumIscBirimKur,
0 as IscilikDurumu,
0 as GumusDurumu,
0 as PlatinDurumu,
0 as PalladiumDurumu,
abs(Bakiye) as Fiyat,
0 as FiyatTipi,
abs(Bakiye) as Tutar,
BirimId,
Birim,
Fn.GetKur (BirimId) as BirimKur,
'DEVIR' AS Aciklama,
'' Kategori,
'' AS Kategori2,
0 AS Maliyet,
0 AS Satis,
0 AS Iscilik,
'' AS IscilikBirim,
0 AS IscilikBirimKur,
0 AS IscilikBirimId,
0 AS HasKur,
0 AS GumKur,
0 as PltKur,
0 as PldKur,
0 as UsdKur,
0 as EurKur,
'' as Tag,
0 as Locked,
1 as UserId,
@Date as InsertDate,
0 as IsDeleted,
0 as [Status],
1 as LoginId,
'' as MUser,
null as MTarih,
0 as Mutabakat,
0 as VaryantId,
0 as OzelKodId,
null as LastModify,
0 as Olcu,
0 as RsAktar,
0 as FaturaIscilikTL,0 AS Bsmv
from
(
Select H.Id as HesapId,A.FirmaId,T.Birim ,T.BirimId ,T.Bakiye from Sistem.Aktarim A Left Join Cari.Hesaplar H on H.OldFirmaId =A.FirmaId
CROSS APPLY (VALUES
(FirmaId,'HAS',Sistem.GetBirimToId ('HAS'),HAS),
(FirmaId,'GUM',Sistem.GetBirimToId ('GUM'),GUM),
(FirmaId,'USD',Sistem.GetBirimToId ('USD'),USD ),
(FirmaId,'EUR',Sistem.GetBirimToId ('EUR'),EUR),
(FirmaId,'TL',Sistem.GetBirimToId ('TL'),TL),
(FirmaId,'CHF',Sistem.GetBirimToId ('CHF'),CHF),
(FirmaId,'GBP',Sistem.GetBirimToId ('GBP'),GBP))
--(FirmaId,'<KODU>',Sistem.GetBirimToId ('<KODU>'),<KODU>))
--Yeni Bir Bakiye Varsa Buraya Ekelenecek. Bir üstteki satıra virgül koy son satırda virgül olmayacak
t(HesapId,Birim,BirimId,Bakiye)
) Bakiye
where IsNull(Bakiye ,0)<>0 and ISNULL (BirimId ,0)<>0 And HesapId Not in (Select HesapId from Cari.Islemler I Where I.BirimId=Bakiye.BirimId )
print 'Aktarım Başarıyla Tamamlandı....' + Convert(nvarchar(max),@Date)
END
Kaynaklar
- SRC-DB-MODULES —
sys.sql_modulestanımı (salt okunur); gizli sabitler[REDACTED_SECRET]ile değiştirildi.
Bilinmeyenler
- Hangi sürümde eklendiği:
createdDB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).
