AIFA AKADEMI · Kurumsal Wiki
4.330 makale
Ana sayfa Kurumsal Wiki › Veritabanı › StoredProcedures › SP-SISTEM.AKTAR

Sistem.Aktar

PROCEDUREMOD-SISTEMERPGOLD_COREMANUAL_REVIEWVERY_HIGH[SOURCE_IMPLEMENTED]
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Tip: STORED PROCEDURE · Şema: Sistem · Modül: MOD-SISTEM · Temizlik sınıfı: MANUAL_REVIEW (kategori D, güven 80) · Kapsam: ERPGOLD_CORE / ALL

BASE künyesi ve kullanım haritası (v1.5 · 13.09.2026)

BASE DurumuBASE dışı — BASE Status: CANDIDATE_CANONICAL (Runtime Certification tamamlanmadı)
BASE SınıfıUNKNOWN (BASE MASTER) · Wiki önerisi: UNKNOWN — F-DYNAMIC_SQL · Action: MANUAL_REVIEW · Güven: LOW
Runtime CertificationN/A — BASE üyesi değil
Kodda Kullanılıyor mu?HAYIR — doğrudan/dolaylı kod referansı bulunamadı
Kod Referans SayısıBASE taraması: 0 (uygulama kodunda string literal referansı yok) · Kullanım Haritası kanıtı: 0 kayıt
Kullanan Ekranlar
Kullanan Class/Method
Incoming Dependency (bunu kullanan nesneler)
Outgoing Dependency (bunun kullandığı nesneler)Cari.Hesaplar, Cari.Islemler, FN.GetKur, Sistem.Aktarim, Sistem.GetBirimToId, Sistem.Kasalar
Trigger İlişkisiyok
Ticket Problem Aileleri
Bilinen Hatalar
Bilinen SQL Riskleri
Health Check Kuralı
Müşteri Özel mi?HAYIR
Opsiyonel Modül mü?HAYIR
Legacy mi?HAYIR
Son Doğrulama Tarihi13.09.2026 — statik analiz (katalog 2026-09-10 + kaynak kod taraması). Çalışma zamanı doğrulaması: PENDING

Kullanım haritası

Kullanım Haritası kategorisiF — MANUAL REVIEW · F-DYNAMIC_SQL · güven 20
GerekçeAdı dinamik SQL kullanan modül(ler)de geçiyor: dbo.sp_DevirIslemiYap, Sistem.FromERP
Dinamik SQL eşleşmesidbo.sp_DevirIslemiYap, Sistem.FromERP
Uzlaştırma10_Manual_Review — Her iki yöntem de karar veremedi: Adı dinamik SQL kullanan modül(ler)de geçiyor: dbo.sp_DevirIslemiYap, Sistem.FromERP

Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Manual · Hata Bilgi Bankası. BASE Status: CANDIDATE_CANONICAL · Runtime Certification: PENDING · 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_modules tanımı (salt okunur); gizli sabitler [REDACTED_SECRET] ile değiştirildi.

Bilinmeyenler

  • Hangi sürümde eklendiği: created DB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).