AIFA AKADEMI · Kurumsal Wiki
4.310 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

Kullanım haritası (13.09.2026)

KategoriF — MANUAL REVIEW · F-DYNAMIC_SQL
Güven20
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

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_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).