Tip: STORED PROCEDURE · Şema: Pozisyon · Modül: MOD-RAPOR · 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 Durumu | BASE dışı — BASE Status: CANDIDATE_CANONICAL (Runtime Certification tamamlanmadı) · CTR-BASE-0104 |
| BASE Sınıfı | UNKNOWN (BASE MASTER) · Wiki önerisi: UNKNOWN — kod kanıtı doğrulanmalı (Runtime Certification) · Action: MANUAL_REVIEW · Güven: LOW |
| Runtime Certification | PENDING (karar için gerekli) — BASE ile açılış/işlem testi yapılmadı; otomatik PASS yazılmadı |
| Kodda Kullanılıyor mu? | EVET — doğrudan (Seviye-0) · BASE: UsedByApplication=NO (çelişki — CTR) |
| Kod Referans Sayısı | BASE taraması: 0 (uygulama kodunda string literal referansı yok) · Kullanım Haritası kanıtı: 1 kayıt |
| Kullanan Ekranlar | FrmPozisyon |
| Kullanan Class/Method | — |
| Incoming Dependency (bunu kullanan nesneler) | — |
| Outgoing Dependency (bunun kullandığı nesneler) | Cari.BakiyeIslem, Cari.BakiyeKodlari, FN.Bol, Pozisyon.Pozisyonlar, Sistem.Activity, Sistem.Birimler, Sistem.GetKurListesi, Sistem.Kasalar, Sistem.Subeler, Stok.GetMadenStoklari … (+2) |
| Trigger İlişkisi | yok |
| Ticket Problem Aileleri | PF-023, PF-034 |
| Bilinen Hatalar | ERR-POT-139, ERR-SIL-047, ERR-SIL-070 (Hata Bilgi Bankası; Gözlemlendi durumu kayıtta) |
| Bilinen SQL Riskleri | SQLR-078 |
| Health Check Kuralı | INV-19 |
| Müşteri Özel mi? | HAYIR |
| Opsiyonel Modül mü? | HAYIR |
| Legacy mi? | HAYIR |
| Son Doğrulama Tarihi | 13.09.2026 — statik analiz (katalog 2026-09-10 + kaynak kod taraması). Çalışma zamanı doğrulaması: PENDING |
Kullanım haritası
| Kullanım Haritası kategorisi | A — ERPGOLD CORE · A-APP_CODE · güven 85 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → FrmPozisyon → Pozisyon.Write |
| Uzlaştırma | 03_Farkli_Sinif — Kullanım Haritası eski statik taramada (analysis_db.json app=YES) kod referansı gördü; BASE'in katı taraması (yorum satırı / VB sınıf adı / string dışı kimlik elenir) bulmadı → olası yanlış pozitif ya da BASE kaçağı. Runtime Certification karar verir |
Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Direct · 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-RAPOR · Uzunluk: 63 satır
Özet
[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.BakiyeIslem | TABLE |
| CALLS | Cari.BakiyeKodlari | VIEW |
| CALLS | FN.Bol | FUNCTION |
| WRITES | Pozisyon.Pozisyonlar | TABLE |
| READS | Sistem.Activity | TABLE |
| READS | Sistem.Birimler | TABLE |
| CALLS | Sistem.GetKurListesi | FUNCTION |
| READS | Sistem.Kasalar | TABLE |
| READS | Sistem.Subeler | TABLE |
| CALLS | Stok.GetMadenStoklari | FUNCTION |
| CALLS | Stok.GetNakitStoklari | FUNCTION |
| CALLS | Stok.GetTakozSirketStoklari | FUNCTION |
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Proc [Pozisyon].[Write]
as
if (Select count(*) from Sistem.Activity Where LastDate >(Select IsNull(Max(InsertDate),'2020-01-01') FRom Pozisyon.Pozisyonlar ))=0 RETURN
-----ONCE TEMP DOSYA YOKSA OLUSTUR VARSA ICINI TEMIZLE
IF OBJECT_ID(N'tempdb..#TBLPozisyonlar') IS NULL
BEGIN
CREATE TABLE [#TBLPozisyonlar]([SubeId] [int] NULL, [Birim] [nvarchar](max) NULL, [Bakiye] [decimal](18, 2) NULL, [Kur1] [decimal](18, 5) NULL, [Kur2] [decimal](18, 5) NULL, [Pozisyon] [decimal](18, 2) NULL, [BBirim] [nvarchar](max) NULL) ON [PRIMARY]
END
ELSE
BEGIN
TRUNCATE TABLE #TBLPozisyonlar
END
--------------------------------------------------------------
-----GECICI POZISYON TABLOSUNA TUM SUBELERIN POZISYONLARINI HESAPLAYARAK YAZIYORUZ
INSERT INTO #TBLPozisyonlar
Select H.SubeId,H.Birim,H.Bakiye,BK.Alis as Kur1,PK.Alis as Kur2,CONVERT(Decimal(18,2), Fn.Bol( (H.Bakiye * Bk.Alis),Pk.Alis)) as Pozisyon, B.Kodu as BBirim from
(
Select SubeId,Birim,Sum(Bakiye) as Bakiye From
(
Select K.SubeId, BK.Kodu as Birim,B.Bakiye as Bakiye
from
(
Select KasaId,BirimId,Sum(Bakiye) as Bakiye from Cari.BakiyeIslem Where BirimId <>-1 group by KasaId,BirimId
) B
Left Join Sistem.Kasalar K on K.Id =B.KasaId
Left Join Cari.BakiyeKodlari Bk on Bk.Id =B.BirimId
UNION ALL
---NAKIT STOKLARI
Select SubeId, AnaBirim ,Sum(Miktar) From Stok.GetNakitStoklari (0,0,null) group by SubeId, AnaBirim
UNION ALL
---MADEN STOKLARI
Select SubeId,AnaBirim,Sum(Miktar * StabilMilyem) as Has From Stok.GetMadenStoklari (0,0,null,'False') group by SubeId,AnaBirim
UNION ALL
---TAKOZ STOKLARI
SELECT T.SubeId,T.Birim,SUM(T.Has) FROM Stok.GetTakozSirketStoklari (0,0,null)
CROSS APPLY (VALUES(SubeId,'HAS',Case When R='False' Then Miktar * 0 Else AuHas end), (SubeId, 'GUM', AgHas ), (SubeId, 'PLT', PltHas ), (SubeId, 'PLD', PldHas )) t(SubeId,Birim, Has) Where Adet <>0 and Has<>0
group by T.SubeId,Birim
) a
Group by SubeId,Birim having Sum(Bakiye)<>0
) H
Left Join Sistem.Subeler S on S.Id =H.SubeId
Left Join Sistem.Birimler B on B.Id =S.BilancoBirimId
Left Join Sistem.GetKurListesi(GETDATE()) PK on PK.Birim=B.Kodu
Left Join Sistem.GetKurListesi(GETDATE()) BK on BK.Birim=H.Birim
---------------------------------------------------------------------------------------------
----POZISYON.POZISYONLAR TABLOSUNU SIFIRLAYARAK GECICI TABLODAKI BILGILERI BURAYA YAZIYORUZ.
TRUNCATE TABLE Pozisyon.Pozisyonlar
INSERT INTO Pozisyon.Pozisyonlar([SubeId],[Birim],[Bakiye],[Kur1],[Kur2],[Pozisyon],[BBirim]) SELECT P.* FROM #TBLPozisyonlar P Left Join Sistem.Birimler B on B.Kodu COLLATE Turkish_CI_AS =P.Birim Order by B.SiraNo
---------------------------------------------------------------------------------------------
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).
